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 CustomerServiceRequest : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } [Required] public string Name { get; set; } public string Notes { get; set; } public string Wiki { get; set; } public string CustomFields { get; set; } public List Tags { get; set; } [Required] public DateTime DateRequested { get; set; } [Required] public long CustomerId { get; set; } [NotMapped] public string CustomerViz { get; set; } public long? UnitId { get; set; } [NotMapped] public string UnitViz { get; set; } public long? WorkOrderItemId { get; set; } [NotMapped] public string WorkOrderSerialViz { get; set; } [Required] public long RequestedByUserId { get; set; } [NotMapped] public string RequestedByUserViz { get; set; } public string CustomerReferenceNumber { get; set; } [Required] public CustomerServiceRequestStatus Status { get; set; } [NotMapped] public string StatusViz { get; set; } [Required] public CustomerServiceRequestPriority Priority { get; set; } [NotMapped] public string PriorityViz { get; set; } public CustomerServiceRequest() { Tags = new List(); DateRequested = DateTime.UtcNow; } [NotMapped, JsonIgnore] public AyaType AyaType { get => AyaType.CustomerServiceRequest; } }//eoc }//eons /* CREATE TABLE [dbo].[ACLIENTSERVICEREQUEST]( [AID] [uniqueidentifier] NOT NULL, [ACREATED] [datetime] NULL,//"DateRequested" [AMODIFIED] [datetime] NULL, X [ACREATOR] [uniqueidentifier] NULL, X [AMODIFIER] [uniqueidentifier] NULL, X [ATITLE] [nvarchar](255) NOT NULL,//"name" [ADETAILS] [ntext] NULL,//"notes" [ACLIENTID] [uniqueidentifier] NULL,//"CustomerId" [AUNITID] [uniqueidentifier] NULL, [AWORKORDERITEMID] [uniqueidentifier] NULL, [ASTATUS] [smallint] NOT NULL, [APRIORITY] [smallint] NOT NULL, [ACLIENTREF] [nvarchar](255) NOT NULL,//"CustomerReferenceNumber" [AREQUESTEDBY] [nvarchar](255) NULL,//"RequestedbyUserId" */