Files
raven/server/AyaNova/models/WorkOrderItem.cs
2020-05-07 00:07:40 +00:00

49 lines
1.6 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
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
public partial class WorkOrderItem
{
public long Id { get; set; }
public uint ConcurrencyToken { 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]
public long WorkorderId { get; set; }//fk
[JsonIgnore]//Avoid circular reference when serializing
public WorkOrder WorkOrder { get; set; }
//dependents
public List<WorkOrderItemLabor> WorkorderItemLabors { get; set; }
public WorkOrderItem()
{
Tags = new List<string>();
WorkorderItemLabors = new List<WorkOrderItemLabor>();
}
//Not persisted business properties
//NOTE: this could be a common class applied to everything for common biz rule stuff
//i.e. specific rights in situations based on rules, like candelete, canedit etc
[NotMapped]
public bool OP { get; set; }//patch operation value
}//eoc
}//eons