Files
raven/server/AyaNova/models/ServiceRate.cs
2020-12-28 19:31:10 +00:00

64 lines
2.1 KiB
C#

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
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<string> 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 ServiceRate()
{
Tags = new List<string>();
}
[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,//THIS IS ONLY FOR THE UI, REMOVE IT
[AREGIONID] [uniqueidentifier] NULL,//tag, remove
*/