diff --git a/server/AyaNova/biz/AyaType.cs b/server/AyaNova/biz/AyaType.cs index dbfa36b9..1b41148f 100644 --- a/server/AyaNova/biz/AyaType.cs +++ b/server/AyaNova/biz/AyaType.cs @@ -111,6 +111,7 @@ namespace AyaNova.Biz //AyaNova.Biz.BizRoles //AyaNova.Biz.BizObjectNameFetcherDIRECT //and in the CLIENT in ayatype.js + //and their model needs to have the ICoreBizObjectModel interface //and need TRANSLATION KEYS because any type could show in the event log at the client end diff --git a/server/AyaNova/models/Contract.cs b/server/AyaNova/models/Contract.cs index 66b80447..96408296 100644 --- a/server/AyaNova/models/Contract.cs +++ b/server/AyaNova/models/Contract.cs @@ -7,7 +7,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Contract + public class Contract : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/Customer.cs b/server/AyaNova/models/Customer.cs index 4c621999..1eb8c82a 100644 --- a/server/AyaNova/models/Customer.cs +++ b/server/AyaNova/models/Customer.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Customer + public class Customer : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/HeadOffice.cs b/server/AyaNova/models/HeadOffice.cs index a0ca0365..180b0cfb 100644 --- a/server/AyaNova/models/HeadOffice.cs +++ b/server/AyaNova/models/HeadOffice.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class HeadOffice + public class HeadOffice : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/ICoreBizObjectModel.cs b/server/AyaNova/models/ICoreBizObjectModel.cs index 7c476361..f0ca285e 100644 --- a/server/AyaNova/models/ICoreBizObjectModel.cs +++ b/server/AyaNova/models/ICoreBizObjectModel.cs @@ -7,10 +7,14 @@ namespace AyaNova.Models /// internal interface ICoreBizObjectModel { - public long Id {get;set;} + //Note: almost all biz objects support all these propertys, the exceptions are extremely few so auto-implementing them here + //this is not a public api so I don't care about the "contract" aspect, just practicality + //didn't want to end up with a zillion interfaces for all manner of stuff + public long Id { get; set; } public uint Concurrency { get; set; } - - public string Wiki { get; set; } + public string Name { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } + public bool? Active { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } public string CustomFields { get; set; } public List Tags { get; set; } diff --git a/server/AyaNova/models/LoanUnit.cs b/server/AyaNova/models/LoanUnit.cs index 29667359..92710d9b 100644 --- a/server/AyaNova/models/LoanUnit.cs +++ b/server/AyaNova/models/LoanUnit.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class LoanUnit + public class LoanUnit : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/PM.cs b/server/AyaNova/models/PM.cs index 6b3a5d17..adf554fc 100644 --- a/server/AyaNova/models/PM.cs +++ b/server/AyaNova/models/PM.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class PM + public class PM : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/PMItem.cs b/server/AyaNova/models/PMItem.cs index e8035d57..75454cdb 100644 --- a/server/AyaNova/models/PMItem.cs +++ b/server/AyaNova/models/PMItem.cs @@ -8,7 +8,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class PMItem + public class PMItem : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/PMTemplate.cs b/server/AyaNova/models/PMTemplate.cs index 778c12c3..6b8300a8 100644 --- a/server/AyaNova/models/PMTemplate.cs +++ b/server/AyaNova/models/PMTemplate.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class PMTemplate + public class PMTemplate : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/PMTemplateItem.cs b/server/AyaNova/models/PMTemplateItem.cs index 6626a3d1..6b93cf47 100644 --- a/server/AyaNova/models/PMTemplateItem.cs +++ b/server/AyaNova/models/PMTemplateItem.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class PMTemplateItem + public class PMTemplateItem : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/Part.cs b/server/AyaNova/models/Part.cs index 0ad93ae3..29cd546e 100644 --- a/server/AyaNova/models/Part.cs +++ b/server/AyaNova/models/Part.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Part + public class Part : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/Project.cs b/server/AyaNova/models/Project.cs index 95290089..64fbaf99 100644 --- a/server/AyaNova/models/Project.cs +++ b/server/AyaNova/models/Project.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Project + public class Project : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/PurchaseOrder.cs b/server/AyaNova/models/PurchaseOrder.cs index f73cc5d2..32d43482 100644 --- a/server/AyaNova/models/PurchaseOrder.cs +++ b/server/AyaNova/models/PurchaseOrder.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class PurchaseOrder + public class PurchaseOrder : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/Quote.cs b/server/AyaNova/models/Quote.cs index 449c228b..bbd642f8 100644 --- a/server/AyaNova/models/Quote.cs +++ b/server/AyaNova/models/Quote.cs @@ -8,7 +8,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Quote + public class Quote : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/QuoteItem.cs b/server/AyaNova/models/QuoteItem.cs index 48303a9f..07b0fc8b 100644 --- a/server/AyaNova/models/QuoteItem.cs +++ b/server/AyaNova/models/QuoteItem.cs @@ -8,7 +8,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class QuoteItem + public class QuoteItem : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/QuoteTemplate.cs b/server/AyaNova/models/QuoteTemplate.cs index 62e98f0f..39e32e03 100644 --- a/server/AyaNova/models/QuoteTemplate.cs +++ b/server/AyaNova/models/QuoteTemplate.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class QuoteTemplate + public class QuoteTemplate : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/QuoteTemplateItem.cs b/server/AyaNova/models/QuoteTemplateItem.cs index b9ca81f8..503c70fa 100644 --- a/server/AyaNova/models/QuoteTemplateItem.cs +++ b/server/AyaNova/models/QuoteTemplateItem.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class QuoteTemplateItem + public class QuoteTemplateItem : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/Unit.cs b/server/AyaNova/models/Unit.cs index b2db0677..0c3b3ea5 100644 --- a/server/AyaNova/models/Unit.cs +++ b/server/AyaNova/models/Unit.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Unit + public class Unit : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/UnitModel.cs b/server/AyaNova/models/UnitModel.cs index 5f984c93..e52afef7 100644 --- a/server/AyaNova/models/UnitModel.cs +++ b/server/AyaNova/models/UnitModel.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class UnitModel + public class UnitModel : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/Vendor.cs b/server/AyaNova/models/Vendor.cs index d7bcc18d..c76419e6 100644 --- a/server/AyaNova/models/Vendor.cs +++ b/server/AyaNova/models/Vendor.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class Vendor + public class Vendor : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/WorkOrderItemExpense.cs b/server/AyaNova/models/WorkOrderItemExpense.cs index fbfbfd03..13f0632c 100644 --- a/server/AyaNova/models/WorkOrderItemExpense.cs +++ b/server/AyaNova/models/WorkOrderItemExpense.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemExpense + public class WorkOrderItemExpense : ICoreBizObjectModel { public WorkOrderItemExpense() { @@ -19,5 +19,9 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + // //Just to conform with interface, it's rare and easier to do this + // [System.ComponentModel.DataAnnotations.Schema.NotMapped] + // public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } + }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemLabor.cs b/server/AyaNova/models/WorkOrderItemLabor.cs index 908f78eb..87541503 100644 --- a/server/AyaNova/models/WorkOrderItemLabor.cs +++ b/server/AyaNova/models/WorkOrderItemLabor.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemLabor + public class WorkOrderItemLabor : ICoreBizObjectModel { public WorkOrderItemLabor() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemLoan.cs b/server/AyaNova/models/WorkOrderItemLoan.cs index ed2fd871..d1db3f14 100644 --- a/server/AyaNova/models/WorkOrderItemLoan.cs +++ b/server/AyaNova/models/WorkOrderItemLoan.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemLoan + public class WorkOrderItemLoan : ICoreBizObjectModel { public WorkOrderItemLoan() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemPart.cs b/server/AyaNova/models/WorkOrderItemPart.cs index cb939464..58a48fb9 100644 --- a/server/AyaNova/models/WorkOrderItemPart.cs +++ b/server/AyaNova/models/WorkOrderItemPart.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemPart + public class WorkOrderItemPart : ICoreBizObjectModel { public WorkOrderItemPart() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemPartRequest.cs b/server/AyaNova/models/WorkOrderItemPartRequest.cs index 5457212e..37acacec 100644 --- a/server/AyaNova/models/WorkOrderItemPartRequest.cs +++ b/server/AyaNova/models/WorkOrderItemPartRequest.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemPartRequest + public class WorkOrderItemPartRequest : ICoreBizObjectModel { public WorkOrderItemPartRequest() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemScheduledUser.cs b/server/AyaNova/models/WorkOrderItemScheduledUser.cs index ea0e9d1f..aae6e964 100644 --- a/server/AyaNova/models/WorkOrderItemScheduledUser.cs +++ b/server/AyaNova/models/WorkOrderItemScheduledUser.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemScheduledUser + public class WorkOrderItemScheduledUser : ICoreBizObjectModel { public WorkOrderItemScheduledUser() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemTask.cs b/server/AyaNova/models/WorkOrderItemTask.cs index a4e3fd8f..048ad77e 100644 --- a/server/AyaNova/models/WorkOrderItemTask.cs +++ b/server/AyaNova/models/WorkOrderItemTask.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemTask + public class WorkOrderItemTask : ICoreBizObjectModel { public WorkOrderItemTask() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemTravel.cs b/server/AyaNova/models/WorkOrderItemTravel.cs index cccae935..eaf173e7 100644 --- a/server/AyaNova/models/WorkOrderItemTravel.cs +++ b/server/AyaNova/models/WorkOrderItemTravel.cs @@ -4,7 +4,7 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemTravel + public class WorkOrderItemTravel : ICoreBizObjectModel { public WorkOrderItemTravel() { @@ -19,5 +19,8 @@ namespace AyaNova.Models public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderItemUnit.cs b/server/AyaNova/models/WorkOrderItemUnit.cs index ce15467b..eb2bd32c 100644 --- a/server/AyaNova/models/WorkOrderItemUnit.cs +++ b/server/AyaNova/models/WorkOrderItemUnit.cs @@ -4,20 +4,23 @@ using Newtonsoft.Json; namespace AyaNova.Models { - public class WorkOrderItemUnit + public class WorkOrderItemUnit : ICoreBizObjectModel { - public WorkOrderItemUnit() + public WorkOrderItemUnit() { Tags = new List(); } public long Id { get; set; } - public uint Concurrency { get; set; } + public uint Concurrency { get; set; } public string Notes { get; set; } public string CustomFields { get; set; } - public List Tags { get; set; } + public List Tags { get; set; } [Required] - public long WorkOrderItemId { get; set; } + public long WorkOrderItemId { get; set; } [JsonIgnore] public WorkOrderItem WorkOrderItem { get; set; } + //Just to conform with interface, it's rare and easier to do this + [System.ComponentModel.DataAnnotations.Schema.NotMapped] + public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } }//eoc }//eons diff --git a/server/AyaNova/models/WorkOrderTemplate.cs b/server/AyaNova/models/WorkOrderTemplate.cs index 1ea5caee..30333273 100644 --- a/server/AyaNova/models/WorkOrderTemplate.cs +++ b/server/AyaNova/models/WorkOrderTemplate.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class WorkOrderTemplate + public class WorkOrderTemplate : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } diff --git a/server/AyaNova/models/WorkOrderTemplateItem.cs b/server/AyaNova/models/WorkOrderTemplateItem.cs index 08185e47..7dd22ccf 100644 --- a/server/AyaNova/models/WorkOrderTemplateItem.cs +++ b/server/AyaNova/models/WorkOrderTemplateItem.cs @@ -9,7 +9,7 @@ namespace AyaNova.Models //NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //otherwise the server will call it an invalid record if the field isn't sent from client - public class WorkOrderTemplateItem + public class WorkOrderTemplateItem : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; }