From 9c6b6e52c8bd969b3e7bf54d5d940cfcdafde893 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 23 Dec 2021 19:16:11 +0000 Subject: [PATCH] --- server/AyaNova/Controllers/ExportController.cs | 1 - server/AyaNova/biz/ContractBiz.cs | 5 ++++- server/AyaNova/biz/CustomerBiz.cs | 2 ++ server/AyaNova/biz/CustomerNoteBiz.cs | 4 +++- server/AyaNova/biz/CustomerServiceRequestBiz.cs | 2 ++ server/AyaNova/biz/HeadOfficeBiz.cs | 2 ++ server/AyaNova/biz/LoanUnitBiz.cs | 2 ++ server/AyaNova/biz/MemoBiz.cs | 2 ++ server/AyaNova/biz/PMBiz.cs | 8 +++++--- server/AyaNova/biz/PartAssemblyBiz.cs | 2 ++ server/AyaNova/biz/PartBiz.cs | 2 ++ server/AyaNova/biz/PartInventoryBiz.cs | 2 ++ server/AyaNova/biz/PartInventoryDataListBiz.cs | 9 +++------ server/AyaNova/biz/PartInventoryRequestDataListBiz.cs | 9 ++++----- server/AyaNova/biz/PartWarehouseBiz.cs | 2 ++ server/AyaNova/biz/ProjectBiz.cs | 2 ++ server/AyaNova/biz/PurchaseOrderBiz.cs | 2 ++ server/AyaNova/biz/QuoteBiz.cs | 2 ++ server/AyaNova/biz/ReminderBiz.cs | 2 ++ server/AyaNova/biz/ReviewBiz.cs | 2 ++ server/AyaNova/biz/ServiceBankBiz.cs | 2 ++ server/AyaNova/biz/ServiceRateBiz.cs | 2 ++ server/AyaNova/biz/TaskGroupBiz.cs | 7 ++++--- server/AyaNova/biz/TaxCodeBiz.cs | 2 ++ server/AyaNova/biz/TravelRateBiz.cs | 2 ++ server/AyaNova/biz/UnitBiz.cs | 2 ++ server/AyaNova/biz/UnitMeterReadingBiz.cs | 2 ++ server/AyaNova/biz/UnitModelBiz.cs | 2 ++ server/AyaNova/biz/UserBiz.cs | 2 ++ server/AyaNova/biz/VendorBiz.cs | 2 ++ server/AyaNova/biz/WorkOrderBiz.cs | 2 ++ 31 files changed, 71 insertions(+), 20 deletions(-) diff --git a/server/AyaNova/Controllers/ExportController.cs b/server/AyaNova/Controllers/ExportController.cs index 03d50131..efacdc02 100644 --- a/server/AyaNova/Controllers/ExportController.cs +++ b/server/AyaNova/Controllers/ExportController.cs @@ -5,7 +5,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.Logging; -using Microsoft.EntityFrameworkCore; using AyaNova.Models; using AyaNova.Api.ControllerHelpers; using AyaNova.Biz; diff --git a/server/AyaNova/biz/ContractBiz.cs b/server/AyaNova/biz/ContractBiz.cs index f6412287..f4e2fccd 100644 --- a/server/AyaNova/biz/ContractBiz.cs +++ b/server/AyaNova/biz/ContractBiz.cs @@ -486,6 +486,7 @@ MULTIPLE discount / markup ITEMS JArray ReportData = new JArray(); while (idList.Any()) { + var batch = idList.Take(IReportAbleObject.REPORT_DATA_BATCH_SIZE); idList = idList.Skip(IReportAbleObject.REPORT_DATA_BATCH_SIZE).ToArray(); //query for this batch, comes back in db natural order unfortunately @@ -509,6 +510,8 @@ MULTIPLE discount / markup ITEMS var PreTrans = await TranslationBiz.GetSubsetStaticAsync(new List { "TimeSpanDays", "TimeSpanHours", "TimeSpanMinutes", "TimeSpanSeconds" }, UserTranslationId); foreach (Contract w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w, ContractOverrideTypeEnumList, PreTrans); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) @@ -662,7 +665,7 @@ MULTIPLE discount / markup ITEMS public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); - if(ServerBootConfig.SEEDING || ServerBootConfig.MIGRATING) return; + if (ServerBootConfig.SEEDING || ServerBootConfig.MIGRATING) return; log.LogDebug($"HandlePotentialNotificationEvent processing: [AyaType:{this.BizType}, AyaEvent:{ayaEvent}]"); bool isNew = currentObj == null; diff --git a/server/AyaNova/biz/CustomerBiz.cs b/server/AyaNova/biz/CustomerBiz.cs index 515c43af..17676927 100644 --- a/server/AyaNova/biz/CustomerBiz.cs +++ b/server/AyaNova/biz/CustomerBiz.cs @@ -354,6 +354,8 @@ namespace AyaNova.Biz foreach (Customer w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/CustomerNoteBiz.cs b/server/AyaNova/biz/CustomerNoteBiz.cs index cdf2050c..34fc4d65 100644 --- a/server/AyaNova/biz/CustomerNoteBiz.cs +++ b/server/AyaNova/biz/CustomerNoteBiz.cs @@ -194,6 +194,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (CustomerNote w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); ReportData.Add(jo); @@ -258,7 +260,7 @@ namespace AyaNova.Biz // public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { - if(ServerBootConfig.SEEDING || ServerBootConfig.MIGRATING) return; + if (ServerBootConfig.SEEDING || ServerBootConfig.MIGRATING) return; ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); log.LogDebug($"HandlePotentialNotificationEvent processing: [AyaType:{this.BizType}, AyaEvent:{ayaEvent}]"); diff --git a/server/AyaNova/biz/CustomerServiceRequestBiz.cs b/server/AyaNova/biz/CustomerServiceRequestBiz.cs index 5182390d..59a4f92f 100644 --- a/server/AyaNova/biz/CustomerServiceRequestBiz.cs +++ b/server/AyaNova/biz/CustomerServiceRequestBiz.cs @@ -317,6 +317,8 @@ namespace AyaNova.Biz foreach (CustomerServiceRequest w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w, CustomerServiceRequestStatusEnumList, CustomerServiceRequestPriorityEnumList); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/HeadOfficeBiz.cs b/server/AyaNova/biz/HeadOfficeBiz.cs index 0afa88ec..3afdb62c 100644 --- a/server/AyaNova/biz/HeadOfficeBiz.cs +++ b/server/AyaNova/biz/HeadOfficeBiz.cs @@ -300,6 +300,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (HeadOffice w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/LoanUnitBiz.cs b/server/AyaNova/biz/LoanUnitBiz.cs index 8d0d3db5..839d11f2 100644 --- a/server/AyaNova/biz/LoanUnitBiz.cs +++ b/server/AyaNova/biz/LoanUnitBiz.cs @@ -287,6 +287,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (LoanUnit w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/MemoBiz.cs b/server/AyaNova/biz/MemoBiz.cs index efc96d37..5b0f5f4f 100644 --- a/server/AyaNova/biz/MemoBiz.cs +++ b/server/AyaNova/biz/MemoBiz.cs @@ -292,6 +292,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Memo w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/PMBiz.cs b/server/AyaNova/biz/PMBiz.cs index f31236ef..9b71b9b2 100644 --- a/server/AyaNova/biz/PMBiz.cs +++ b/server/AyaNova/biz/PMBiz.cs @@ -465,9 +465,9 @@ namespace AyaNova.Biz private async Task AutoSetAddressAsync(PM newObj) { - if(!string.IsNullOrWhiteSpace(newObj.PostAddress) || !string.IsNullOrWhiteSpace(newObj.Address)) + if (!string.IsNullOrWhiteSpace(newObj.PostAddress) || !string.IsNullOrWhiteSpace(newObj.Address)) return; - + if (newObj.CustomerId == 0) return; @@ -831,6 +831,8 @@ namespace AyaNova.Biz foreach (PM w in batchResults) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); //PM header custom fields @@ -1348,7 +1350,7 @@ namespace AyaNova.Biz // private async Task ItemPopulateVizFields(PMItem o, bool populateForReporting) { - if (o.WorkOrderItemStatusId != null) + if (o.WorkOrderItemStatusId != null) { var StatusInfo = await ct.WorkOrderItemStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemStatusId); o.WorkOrderItemStatusNameViz = StatusInfo.Name; diff --git a/server/AyaNova/biz/PartAssemblyBiz.cs b/server/AyaNova/biz/PartAssemblyBiz.cs index 58d24fe9..b6ddd58e 100644 --- a/server/AyaNova/biz/PartAssemblyBiz.cs +++ b/server/AyaNova/biz/PartAssemblyBiz.cs @@ -340,6 +340,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (PartAssembly w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/PartBiz.cs b/server/AyaNova/biz/PartBiz.cs index 04b34357..a6e9f7fe 100644 --- a/server/AyaNova/biz/PartBiz.cs +++ b/server/AyaNova/biz/PartBiz.cs @@ -514,6 +514,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Part w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/PartInventoryBiz.cs b/server/AyaNova/biz/PartInventoryBiz.cs index 79fd73b5..f1106835 100644 --- a/server/AyaNova/biz/PartInventoryBiz.cs +++ b/server/AyaNova/biz/PartInventoryBiz.cs @@ -279,6 +279,8 @@ namespace AyaNova.Biz foreach (PartInventory w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w, AyaTypesEnumList, command); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/PartInventoryDataListBiz.cs b/server/AyaNova/biz/PartInventoryDataListBiz.cs index 7255d5fd..e6ba387c 100644 --- a/server/AyaNova/biz/PartInventoryDataListBiz.cs +++ b/server/AyaNova/biz/PartInventoryDataListBiz.cs @@ -53,22 +53,19 @@ namespace AyaNova.Biz StringUtil.TrimTypeName(typeof(AyaType).ToString()), UserTranslationId, CurrentUserRoles); - // using (var command = ct.Database.GetDbConnection().CreateCommand()) - // { - // ct.Database.OpenConnection(); foreach (ViewPartInventoryList w in orderedList) { - //await PopulateVizFields(w, AyaTypesEnumList, command); + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); ReportData.Add(jo); } - //} } return ReportData; } - + //////////////////////////////////////////////////////////////////////////////////////////////// // IMPORT EXPORT diff --git a/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs b/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs index 114c9f96..520a5fa9 100644 --- a/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs +++ b/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs @@ -53,17 +53,16 @@ namespace AyaNova.Biz StringUtil.TrimTypeName(typeof(AyaType).ToString()), UserTranslationId, CurrentUserRoles); - // using (var command = ct.Database.GetDbConnection().CreateCommand()) - // { - // ct.Database.OpenConnection(); foreach (ViewPartInventoryRequestList w in orderedList) { - //await PopulateVizFields(w, AyaTypesEnumList, command); + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); + var jo = JObject.FromObject(w); ReportData.Add(jo); } - //} + } return ReportData; } diff --git a/server/AyaNova/biz/PartWarehouseBiz.cs b/server/AyaNova/biz/PartWarehouseBiz.cs index ca6ec3d2..d953a3f9 100644 --- a/server/AyaNova/biz/PartWarehouseBiz.cs +++ b/server/AyaNova/biz/PartWarehouseBiz.cs @@ -299,6 +299,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (PartWarehouse w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); diff --git a/server/AyaNova/biz/ProjectBiz.cs b/server/AyaNova/biz/ProjectBiz.cs index a452e82b..3a074c1b 100644 --- a/server/AyaNova/biz/ProjectBiz.cs +++ b/server/AyaNova/biz/ProjectBiz.cs @@ -288,6 +288,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Project w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index 3594b6af..ca5de6e8 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -792,6 +792,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (PurchaseOrder w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await SetDisplayFields(w, true); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/QuoteBiz.cs b/server/AyaNova/biz/QuoteBiz.cs index c0b1761f..d804d68a 100644 --- a/server/AyaNova/biz/QuoteBiz.cs +++ b/server/AyaNova/biz/QuoteBiz.cs @@ -806,6 +806,8 @@ namespace AyaNova.Biz foreach (Quote w in batchResults) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); //Quote header custom fields diff --git a/server/AyaNova/biz/ReminderBiz.cs b/server/AyaNova/biz/ReminderBiz.cs index 292323bc..e33b7719 100644 --- a/server/AyaNova/biz/ReminderBiz.cs +++ b/server/AyaNova/biz/ReminderBiz.cs @@ -291,6 +291,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Reminder w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/ReviewBiz.cs b/server/AyaNova/biz/ReviewBiz.cs index 2c6345b5..d3f447e6 100644 --- a/server/AyaNova/biz/ReviewBiz.cs +++ b/server/AyaNova/biz/ReviewBiz.cs @@ -349,6 +349,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Review w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/ServiceBankBiz.cs b/server/AyaNova/biz/ServiceBankBiz.cs index 991f5173..ab2f750e 100644 --- a/server/AyaNova/biz/ServiceBankBiz.cs +++ b/server/AyaNova/biz/ServiceBankBiz.cs @@ -277,6 +277,8 @@ // var orderedList = from id in batch join z in batchResults on id equals z.Id select z; // foreach (ServiceBank w in orderedList) // { + // if (DateTime.UtcNow > renderTimeOutExpiry) + // throw new ReportRenderTimeOutException(); // var jo = JObject.FromObject(w); // if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) // jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); diff --git a/server/AyaNova/biz/ServiceRateBiz.cs b/server/AyaNova/biz/ServiceRateBiz.cs index d856bb68..996f22c5 100644 --- a/server/AyaNova/biz/ServiceRateBiz.cs +++ b/server/AyaNova/biz/ServiceRateBiz.cs @@ -316,6 +316,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (ServiceRate w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); diff --git a/server/AyaNova/biz/TaskGroupBiz.cs b/server/AyaNova/biz/TaskGroupBiz.cs index ab8751dc..12af7412 100644 --- a/server/AyaNova/biz/TaskGroupBiz.cs +++ b/server/AyaNova/biz/TaskGroupBiz.cs @@ -168,7 +168,7 @@ namespace AyaNova.Biz ValidateCanDelete(dbObject); if (HasErrors) return false; - { + { var IDList = await ct.Review.AsNoTracking().Where(x => x.AType == AyaType.TaskGroup && x.ObjectId == id).Select(x => x.Id).ToListAsync(); if (IDList.Count() > 0) { @@ -300,7 +300,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (TaskGroup w in orderedList) { - // await PopulateVizFields(w); + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); @@ -310,7 +311,7 @@ namespace AyaNova.Biz return ReportData; } - + //////////////////////////////////////////////////////////////////////////////////////////////// // IMPORT EXPORT diff --git a/server/AyaNova/biz/TaxCodeBiz.cs b/server/AyaNova/biz/TaxCodeBiz.cs index 3ebdd8d6..8b78f8c3 100644 --- a/server/AyaNova/biz/TaxCodeBiz.cs +++ b/server/AyaNova/biz/TaxCodeBiz.cs @@ -345,6 +345,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (TaxCode w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); diff --git a/server/AyaNova/biz/TravelRateBiz.cs b/server/AyaNova/biz/TravelRateBiz.cs index 6389640b..d5f71675 100644 --- a/server/AyaNova/biz/TravelRateBiz.cs +++ b/server/AyaNova/biz/TravelRateBiz.cs @@ -312,6 +312,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (TravelRate w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); diff --git a/server/AyaNova/biz/UnitBiz.cs b/server/AyaNova/biz/UnitBiz.cs index 1b71cac2..33a19f20 100644 --- a/server/AyaNova/biz/UnitBiz.cs +++ b/server/AyaNova/biz/UnitBiz.cs @@ -307,6 +307,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Unit w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/UnitMeterReadingBiz.cs b/server/AyaNova/biz/UnitMeterReadingBiz.cs index affe442c..f84865cb 100644 --- a/server/AyaNova/biz/UnitMeterReadingBiz.cs +++ b/server/AyaNova/biz/UnitMeterReadingBiz.cs @@ -156,6 +156,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (UnitMeterReading w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); ReportData.Add(jo); diff --git a/server/AyaNova/biz/UnitModelBiz.cs b/server/AyaNova/biz/UnitModelBiz.cs index b06cb16c..9b3f1f81 100644 --- a/server/AyaNova/biz/UnitModelBiz.cs +++ b/server/AyaNova/biz/UnitModelBiz.cs @@ -290,6 +290,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (UnitModel w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs index acb4d402..76d2a963 100644 --- a/server/AyaNova/biz/UserBiz.cs +++ b/server/AyaNova/biz/UserBiz.cs @@ -1045,6 +1045,8 @@ namespace AyaNova.Biz //foreach (User w in orderedList) foreach (var w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); await PopulateVizFields(w, UserTypesEnumList); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) diff --git a/server/AyaNova/biz/VendorBiz.cs b/server/AyaNova/biz/VendorBiz.cs index 3a899b28..f2b88139 100644 --- a/server/AyaNova/biz/VendorBiz.cs +++ b/server/AyaNova/biz/VendorBiz.cs @@ -329,6 +329,8 @@ namespace AyaNova.Biz var orderedList = from id in batch join z in batchResults on id equals z.Id select z; foreach (Vendor w in orderedList) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index f81a4a86..754e6938 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -962,6 +962,8 @@ namespace AyaNova.Biz foreach (WorkOrder w in batchResults) { + if (DateTime.UtcNow > renderTimeOutExpiry) + throw new ReportRenderTimeOutException(); if (DateTime.UtcNow > renderTimeOutExpiry) throw new ReportRenderTimeOutException(); var jo = JObject.FromObject(w);