using System; using System.Collections.Generic; using AyaNova.Biz; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Newtonsoft.Json; 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 //### MIRRORED IN QBI!!!! public class ServiceRate : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } [Required] public string Name { get; set; } public bool Active { get; set; } public string Notes { get; set; } public string Wiki { get; set; } public string CustomFields { get; set; } public List Tags { get; set; } public string AccountNumber { get; set; } [Required] public decimal Cost { get; set; } [Required] public decimal Charge { get; set; } public string Unit { get; set; } public bool ContractOnly { get; set; } public ServiceRate() { Tags = new List(); } [NotMapped, JsonIgnore] public AyaType AyaType { get => AyaType.ServiceRate; } }//eoc }//eons /* CREATE TABLE [dbo].[ARATE]( [AID] [uniqueidentifier] NOT NULL, [ACREATED] [datetime] NOT NULL, [AMODIFIED] [datetime] NOT NULL, [AACTIVE] [bit] NOT NULL, [ACREATOR] [uniqueidentifier] NOT NULL, [AMODIFIER] [uniqueidentifier] NOT NULL, [ANAME] [nvarchar](255) NOT NULL, [ADESCRIPTION] [nvarchar](255) NULL,//NOW NOTES [AACCOUNTNUMBER] [nvarchar](255) NULL, [ACOST] [decimal](19, 5) NULL, [ACHARGE] [decimal](19, 5) NULL, [ARATETYPE] [smallint] NOT NULL,//REMOVE SPLITTING INTO TRAVEL AND LABOR SEPERATELY [ARATEUNITCHARGEDESCRIPTIONID] [uniqueidentifier] //TURN THIS INTO TEXT PLAIN AND SIMPLE, [ACLIENTGROUPID] [uniqueidentifier] NULL, //TAG remove [ACONTRACTRATE] [bit] NOT NULL, [AREGIONID] [uniqueidentifier] NULL,//tag, remove */