This commit is contained in:
2021-05-19 18:58:04 +00:00
parent 390f00a90c
commit aaa39bdc47
2 changed files with 16 additions and 13 deletions

View File

@@ -105,9 +105,11 @@ namespace AyaNova.PickList
using (AyContext ct = ServiceProviderProvider.DBContext)
{
var c = ct.Contract
.Include(z => z.ServiceRateItems)
.AsNoTracking()
.Where(z => z.Id == contractId)
.FirstOrDefault();
if (c == null)
return defaultNoContractRatesCriteria;

View File

@@ -104,6 +104,7 @@ namespace AyaNova.PickList
using (AyContext ct = ServiceProviderProvider.DBContext)
{
var c = ct.Contract
.Include(z => z.TravelRateItems)
.AsNoTracking()
.Where(z => z.Id == contractId)
.FirstOrDefault();
@@ -112,15 +113,15 @@ namespace AyaNova.PickList
//only fetch items that are in the contract rates
if (c.ContractServiceRatesOnly)
return $"atravelrate.id in ({string.Join(",", c.ServiceRateItems.Select(z => z.ServiceRateId).ToArray())})";
return $"atravelrate.id in ({string.Join(",", c.TravelRateItems.Select(z => z.TravelRateId).ToArray())})";
//contract allows any items plus contract items if exist
//If no service rate items in contract then short circuit to regular list
if (c.ServiceRateItems.Count == 0)
//If no travel rate items in contract then short circuit to regular list
if (c.TravelRateItems.Count == 0)
return defaultNoContractRatesCriteria;
//Ok, a bit more complex then, all non contract rates plus a select few contract rates
return $"(atravelrate.contractonly=false) or (atravelrate.id in ({string.Join(",", c.ServiceRateItems.Select(z => z.ServiceRateId).ToArray())}))";
return $"(atravelrate.contractonly=false) or (atravelrate.id in ({string.Join(",", c.TravelRateItems.Select(z => z.TravelRateId).ToArray())}))";
}
}