using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Newtonsoft.Json; using AyaNova.Biz; using System.Collections.Generic; namespace AyaNova.Models { public class QuoteItemTask : ICoreBizObjectModel { public long Id { get; set; } public uint Concurrency { get; set; } public int Sequence { get; set; } [Required] public string Task { get; set; } [Required] public WorkOrderItemTaskCompletionType Status { get; set; } = WorkOrderItemTaskCompletionType.Incomplete; [NotMapped] public string StatusViz { get; set; } public long? CompletedByUserId { get; set; } [NotMapped] public string CompletedByUserViz { get; set; } public DateTime? CompletedDate { get; set; } //workaround for notification [NotMapped, JsonIgnore] public List Tags { get; set; } = new List(); [NotMapped, JsonIgnore] public string Name { get; set; } [Required] public long QuoteItemId { get; set; } [JsonIgnore] public QuoteItem QuoteItem { get; set; } [NotMapped, JsonIgnore] public AyaType AyaType { get => AyaType.QuoteItemTask; } }//eoc }//eons /* CREATE TABLE [dbo].[AQuoteITEMTASK]( [AID] [uniqueidentifier] NOT NULL, [AQuoteITEMID] [uniqueidentifier] NOT NULL, [ATASKID] [uniqueidentifier] NOT NULL,//drop, feeds now, Task it linked to is literally just a single string "Name" so this is an easy decision [ATASKGROUPID] [uniqueidentifier] NOT NULL,//drop feeds now [ACREATOR] [uniqueidentifier] NOT NULL, [AMODIFIER] [uniqueidentifier] NOT NULL, [ACREATED] [datetime] NOT NULL, [AMODIFIED] [datetime] NOT NULL, [AQuoteITEMTASKCMPLTNTYPE] [smallint] NOT NULL//rename to Status */