Files
raven/server/AyaNova/models/QuoteItemTask.cs
2021-08-17 23:25:35 +00:00

57 lines
1.9 KiB
C#

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 DisplayOrder { get; set; } = 0;
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<string> Tags { get; set; } = new List<string>();
[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
*/