Files
raven/server/AyaNova/models/QuoteState.cs
2021-12-31 18:33:05 +00:00

52 lines
1.5 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 QuoteState : ICoreBizObjectModel
{
public long Id { get; set; }
public uint Concurrency { get; set; }
[Required]
public long QuoteId { get; set; }
[Required]
public long QuoteStatusId { get; set; }
public DateTime Created { get; set; } = DateTime.UtcNow;
[Required]
public long UserId { get; set; }
[NotMapped]
public string UserViz { get; set; }
[NotMapped]
public string NameViz { get; set; }
[NotMapped]
public string ColorViz { get; set; }
[NotMapped]
public bool CompletedViz { get; set; }
[NotMapped]
public bool LockedViz { get; set; }
//workaround for notification
[NotMapped, JsonIgnore]
public List<string> Tags { get; set; } = new List<string>();
[NotMapped, JsonIgnore]
public string Name { get; set; }
//UTILITY FIELDS
//related
// [JsonIgnore]//internal only here at server not used by client
// public QuoteStatus QuoteStatus { get; set; }
[NotMapped, JsonIgnore]
public AyaType AyaType { get => AyaType.QuoteStatus; }
}//eoc
}//eons