using System; using System.Collections.Generic; using AyaNova.Biz; using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; 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 //NOTE: In Widget DB schema only name and serial are not nullable public partial class Widget { public long Id { get; set; } public uint ConcurrencyToken { get; set; } [Required] public string Name { get; set; } public uint Serial { get; set; } public decimal? DollarAmount { get; set; } public bool? Active { get; set; } public UserType UserType { get; set; } public DateTime? StartDate { get; set; } public DateTime? EndDate { get; set; } public string Notes { get; set; } public int? Count { get; set; } public string CustomFields { get; set; } public List Tags { get; set; } //relations //https://docs.microsoft.com/en-us/ef/core/modeling/relationships#other-relationship-patterns [JsonIgnore]//hide from being returned (as null anyway) with User object in routes public User User { get; set; } public long? UserId { get; set; } public Widget() { Tags = new List(); } } }