From aaa39bdc4761d22cda5625f24942c53c40903e6d Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 19 May 2021 18:58:04 +0000 Subject: [PATCH] --- server/AyaNova/PickList/ServiceRatePickList.cs | 14 ++++++++------ server/AyaNova/PickList/TravelRatePickList.cs | 15 ++++++++------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/server/AyaNova/PickList/ServiceRatePickList.cs b/server/AyaNova/PickList/ServiceRatePickList.cs index 4fb429c0..befef36a 100644 --- a/server/AyaNova/PickList/ServiceRatePickList.cs +++ b/server/AyaNova/PickList/ServiceRatePickList.cs @@ -105,9 +105,11 @@ namespace AyaNova.PickList using (AyContext ct = ServiceProviderProvider.DBContext) { var c = ct.Contract - .AsNoTracking() - .Where(z => z.Id == contractId) - .FirstOrDefault(); + .Include(z => z.ServiceRateItems) + .AsNoTracking() + .Where(z => z.Id == contractId) + .FirstOrDefault(); + if (c == null) return defaultNoContractRatesCriteria; @@ -117,13 +119,13 @@ namespace AyaNova.PickList //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 (c.ServiceRateItems.Count == 0) return defaultNoContractRatesCriteria; //Ok, a bit more complex then, all non contract rates plus a select few contract rates - return $"(aservicerate.contractonly=false) or (aservicerate.id in ({string.Join(",", c.ServiceRateItems.Select(z => z.ServiceRateId).ToArray())}))"; + return $"(aservicerate.contractonly=false) or (aservicerate.id in ({string.Join(",", c.ServiceRateItems.Select(z => z.ServiceRateId).ToArray())}))"; - } + } } } return defaultNoContractRatesCriteria; diff --git a/server/AyaNova/PickList/TravelRatePickList.cs b/server/AyaNova/PickList/TravelRatePickList.cs index 053ff44a..1d71ccf4 100644 --- a/server/AyaNova/PickList/TravelRatePickList.cs +++ b/server/AyaNova/PickList/TravelRatePickList.cs @@ -104,23 +104,24 @@ namespace AyaNova.PickList using (AyContext ct = ServiceProviderProvider.DBContext) { var c = ct.Contract - .AsNoTracking() - .Where(z => z.Id == contractId) - .FirstOrDefault(); + .Include(z => z.TravelRateItems) + .AsNoTracking() + .Where(z => z.Id == contractId) + .FirstOrDefault(); if (c == null) return defaultNoContractRatesCriteria; //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())}))"; } }