Files
raven/server/AyaNova/models/QuoteItem.cs
2020-07-17 13:40:31 +00:00

44 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Newtonsoft.Json;
using AyaNova.Biz;
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 QuoteItem : 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; }
//Principle
[Required]//this required annotation should cause a cascade delete to happen automatically when wo is deleted, need to test that
public long QuoteId { get; set; }//fk
public Quote Quote { get; set; }
//Dependents
public QuoteItem()
{
Tags = new List<string>();
}
[NotMapped, JsonIgnore]
public AyaType AyaType { get => AyaType.QuoteItem; }
}//eoc
}//eons