diff --git a/.vscode/launch.json b/.vscode/launch.json index fcc80a75..b77f3b95 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -53,7 +53,7 @@ "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", - "AYANOVA_SERVER_TEST_MODE": "true", + "AYANOVA_SERVER_TEST_MODE": "false", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index b795ee66..5c9bbfea 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -197,7 +197,7 @@ namespace AyaNova.Biz //todo: set isLocked from state var stat = await GetCurrentWorkOrderStatusFromRelatedAsync(BizType, ret.Id); ret.IsLockedAtServer = stat.Locked; - ret.IsDirty = false; + if (populateDisplayFields) await WorkOrderPopulateVizFields(ret, false); @@ -1913,7 +1913,7 @@ namespace AyaNova.Biz //newObject.CustomFields = JsonUtil.CompactJson(newObject.CustomFields); await ct.WorkOrderItemLabor.AddAsync(newObject); await ct.SaveChangesAsync(); - newObject.IsDirty = false; + await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, newObject.AyaType, AyaEvent.Created), ct); await LaborSearchIndexAsync(newObject, true); // await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); @@ -1960,8 +1960,7 @@ namespace AyaNova.Biz ct.Replace(dbObject, putObject); try { - await ct.SaveChangesAsync(); - putObject.IsDirty = false; + await ct.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { diff --git a/server/AyaNova/models/WorkOrder.cs b/server/AyaNova/models/WorkOrder.cs index 0b56fcc5..42d41ac7 100644 --- a/server/AyaNova/models/WorkOrder.cs +++ b/server/AyaNova/models/WorkOrder.cs @@ -76,9 +76,7 @@ namespace AyaNova.Models public List States { get; set; } = new List(); - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server + //UTILITY FIELDS [NotMapped] public bool IsLockedAtServer { get; set; } = false;//signal to client that it came from the server in a locked state [NotMapped] diff --git a/server/AyaNova/models/WorkOrderItem.cs b/server/AyaNova/models/WorkOrderItem.cs index e039e9e4..3ac545c7 100644 --- a/server/AyaNova/models/WorkOrderItem.cs +++ b/server/AyaNova/models/WorkOrderItem.cs @@ -30,12 +30,7 @@ namespace AyaNova.Models public DateTime? RequestDate { get; set; } public bool WarrantyService { get; set; } = false; public int Sequence { get; set; } - - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - + //Principle [JsonIgnore] public WorkOrder WorkOrder { get; set; } diff --git a/server/AyaNova/models/WorkOrderItemExpense.cs b/server/AyaNova/models/WorkOrderItemExpense.cs index 9ab2e11a..80d254e8 100644 --- a/server/AyaNova/models/WorkOrderItemExpense.cs +++ b/server/AyaNova/models/WorkOrderItemExpense.cs @@ -38,14 +38,6 @@ namespace AyaNova.Models - - - - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemLabor.cs b/server/AyaNova/models/WorkOrderItemLabor.cs index 76ee1c55..4fbfcacc 100644 --- a/server/AyaNova/models/WorkOrderItemLabor.cs +++ b/server/AyaNova/models/WorkOrderItemLabor.cs @@ -50,13 +50,6 @@ namespace AyaNova.Models public decimal LineTotalViz { get; set; }//line total netViz + taxes - - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - - [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemLoan.cs b/server/AyaNova/models/WorkOrderItemLoan.cs index e0dead1e..17f34125 100644 --- a/server/AyaNova/models/WorkOrderItemLoan.cs +++ b/server/AyaNova/models/WorkOrderItemLoan.cs @@ -51,11 +51,7 @@ namespace AyaNova.Models public decimal LineTotalViz { get; set; }//line total netViz + taxes - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - + [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemOutsideService.cs b/server/AyaNova/models/WorkOrderItemOutsideService.cs index 4fb78658..174afc99 100644 --- a/server/AyaNova/models/WorkOrderItemOutsideService.cs +++ b/server/AyaNova/models/WorkOrderItemOutsideService.cs @@ -49,11 +49,6 @@ namespace AyaNova.Models - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemPart.cs b/server/AyaNova/models/WorkOrderItemPart.cs index 63a95930..f93b60d6 100644 --- a/server/AyaNova/models/WorkOrderItemPart.cs +++ b/server/AyaNova/models/WorkOrderItemPart.cs @@ -51,11 +51,7 @@ namespace AyaNova.Models [NotMapped] public decimal LineTotalViz { get; set; }//line total netViz + taxes - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - + [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemPartRequest.cs b/server/AyaNova/models/WorkOrderItemPartRequest.cs index 14fbd25d..bb2abc8b 100644 --- a/server/AyaNova/models/WorkOrderItemPartRequest.cs +++ b/server/AyaNova/models/WorkOrderItemPartRequest.cs @@ -41,11 +41,6 @@ namespace AyaNova.Models public decimal Received { get; set; } - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemScheduledUser.cs b/server/AyaNova/models/WorkOrderItemScheduledUser.cs index ada07513..f8420140 100644 --- a/server/AyaNova/models/WorkOrderItemScheduledUser.cs +++ b/server/AyaNova/models/WorkOrderItemScheduledUser.cs @@ -20,12 +20,7 @@ namespace AyaNova.Models [NotMapped] public string ServiceRateViz { get; set; } - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - - + [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemTask.cs b/server/AyaNova/models/WorkOrderItemTask.cs index 86c8ead3..f61212a0 100644 --- a/server/AyaNova/models/WorkOrderItemTask.cs +++ b/server/AyaNova/models/WorkOrderItemTask.cs @@ -26,11 +26,7 @@ namespace AyaNova.Models public string CompletedByUserViz { get; set; } public DateTime? CompletedDate { get; set; } - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - + [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemTravel.cs b/server/AyaNova/models/WorkOrderItemTravel.cs index a7c84cc6..9f0450b7 100644 --- a/server/AyaNova/models/WorkOrderItemTravel.cs +++ b/server/AyaNova/models/WorkOrderItemTravel.cs @@ -72,12 +72,6 @@ namespace AyaNova.Models public decimal LineTotalViz { get; set; }//line total netViz + taxes - - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderItemUnit.cs b/server/AyaNova/models/WorkOrderItemUnit.cs index d2d4a8d8..ae21f5a0 100644 --- a/server/AyaNova/models/WorkOrderItemUnit.cs +++ b/server/AyaNova/models/WorkOrderItemUnit.cs @@ -20,11 +20,6 @@ namespace AyaNova.Models [NotMapped] public string UnitViz { get; set; } - //UTILITY FIELDS - [NotMapped] - public bool IsDirty { get; set; } = false;//never dirty coming from the server - - [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] diff --git a/server/AyaNova/models/WorkOrderState.cs b/server/AyaNova/models/WorkOrderState.cs index 46c40b90..dcf31572 100644 --- a/server/AyaNova/models/WorkOrderState.cs +++ b/server/AyaNova/models/WorkOrderState.cs @@ -24,9 +24,7 @@ namespace AyaNova.Models public string UserViz { get; set; } //UTILITY FIELDS - [NotMapped] - // public bool IsDirty { get; set; } = false;//never dirty coming from the server - + //related [JsonIgnore]//internal only here at server not used by client public WorkOrderStatus WorkOrderStatus { get; set; }