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 Quote : ICoreBizObjectModel
    {
        public long Id { get; set; }
        public uint Concurrency { get; set; }

        [Required]
        public long Serial { 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; }


        //dependents
        public List<QuoteItem> QuoteItems { get; set; }

        public Quote()
        {
            Tags = new List<string>();
            QuoteItems = new List<QuoteItem>();
        }


        [NotMapped, JsonIgnore]
        public AyaType AyaType { get => AyaType.Quote; }

    }//eoc

}//eons
