ICoreBizObjectModel for all

This commit is contained in:
2020-05-17 16:54:15 +00:00
parent d85497aab6
commit cc828894a5
31 changed files with 69 additions and 36 deletions

View File

@@ -111,6 +111,7 @@ namespace AyaNova.Biz
//AyaNova.Biz.BizRoles //AyaNova.Biz.BizRoles
//AyaNova.Biz.BizObjectNameFetcherDIRECT //AyaNova.Biz.BizObjectNameFetcherDIRECT
//and in the CLIENT in ayatype.js //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 //and need TRANSLATION KEYS because any type could show in the event log at the client end

View File

@@ -7,7 +7,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -7,10 +7,14 @@ namespace AyaNova.Models
/// </summary> /// </summary>
internal interface ICoreBizObjectModel 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 uint Concurrency { get; set; }
public string Name { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
public string Wiki { get; set; } 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 string CustomFields { get; set; }
public List<string> Tags { get; set; } public List<string> Tags { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -8,7 +8,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -8,7 +8,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -8,7 +8,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemExpense public class WorkOrderItemExpense : ICoreBizObjectModel
{ {
public WorkOrderItemExpense() public WorkOrderItemExpense()
{ {
@@ -19,5 +19,9 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemLabor public class WorkOrderItemLabor : ICoreBizObjectModel
{ {
public WorkOrderItemLabor() public WorkOrderItemLabor()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemLoan public class WorkOrderItemLoan : ICoreBizObjectModel
{ {
public WorkOrderItemLoan() public WorkOrderItemLoan()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemPart public class WorkOrderItemPart : ICoreBizObjectModel
{ {
public WorkOrderItemPart() public WorkOrderItemPart()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemPartRequest public class WorkOrderItemPartRequest : ICoreBizObjectModel
{ {
public WorkOrderItemPartRequest() public WorkOrderItemPartRequest()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemScheduledUser public class WorkOrderItemScheduledUser : ICoreBizObjectModel
{ {
public WorkOrderItemScheduledUser() public WorkOrderItemScheduledUser()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemTask public class WorkOrderItemTask : ICoreBizObjectModel
{ {
public WorkOrderItemTask() public WorkOrderItemTask()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,7 +4,7 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemTravel public class WorkOrderItemTravel : ICoreBizObjectModel
{ {
public WorkOrderItemTravel() public WorkOrderItemTravel()
{ {
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -4,9 +4,9 @@ using Newtonsoft.Json;
namespace AyaNova.Models namespace AyaNova.Models
{ {
public class WorkOrderItemUnit public class WorkOrderItemUnit : ICoreBizObjectModel
{ {
public WorkOrderItemUnit() public WorkOrderItemUnit()
{ {
Tags = new List<string>(); Tags = new List<string>();
} }
@@ -19,5 +19,8 @@ namespace AyaNova.Models
public long WorkOrderItemId { get; set; } public long WorkOrderItemId { get; set; }
[JsonIgnore] [JsonIgnore]
public WorkOrderItem WorkOrderItem { get; set; } 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 }//eoc
}//eons }//eons

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }

View File

@@ -9,7 +9,7 @@ namespace AyaNova.Models
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal, //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 //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 long Id { get; set; }
public uint Concurrency { get; set; } public uint Concurrency { get; set; }