This commit is contained in:
@@ -1,42 +1,56 @@
|
||||
using System;
|
||||
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 PMItem : 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 PMId { get; set; }//fk
|
||||
public PM PM { get; set; }
|
||||
|
||||
//Dependents
|
||||
|
||||
public PMItem()
|
||||
{
|
||||
Tags = new List<string>();
|
||||
}
|
||||
|
||||
[NotMapped, JsonIgnore]
|
||||
public AyaType AyaType { get => AyaType.PMItem; }
|
||||
|
||||
|
||||
public long Id { get; set; }
|
||||
public uint Concurrency { get; set; }
|
||||
public string Notes { get; set; }//"Summary" field
|
||||
public string Wiki { get; set; }
|
||||
public string CustomFields { get; set; }
|
||||
public List<string> Tags { get; set; } = new List<string>();
|
||||
|
||||
[Required]
|
||||
public long PMId { get; set; }
|
||||
public string TechNotes { get; set; }
|
||||
public long? WorkOrderItemStatusId { get; set; }
|
||||
public long? WorkOrderItemPriorityId { get; set; }
|
||||
public DateTime? RequestDate { get; set; }
|
||||
public bool WarrantyService { get; set; } = false;
|
||||
public int Sequence { get; set; }
|
||||
|
||||
//workaround for notification
|
||||
[NotMapped, JsonIgnore]
|
||||
public string Name { get; set; }
|
||||
|
||||
//Principle
|
||||
[JsonIgnore]
|
||||
public PM PM { get; set; }
|
||||
//dependents
|
||||
public List<PMItemExpense> Expenses { get; set; } = new List<PMItemExpense>();
|
||||
public List<PMItemLabor> Labors { get; set; } = new List<PMItemLabor>();
|
||||
public List<PMItemLoan> Loans { get; set; } = new List<PMItemLoan>();
|
||||
public List<PMItemPart> Parts { get; set; } = new List<PMItemPart>();
|
||||
public List<PMItemScheduledUser> ScheduledUsers { get; set; } = new List<PMItemScheduledUser>();
|
||||
public List<PMItemTask> Tasks { get; set; } = new List<PMItemTask>();
|
||||
public List<PMItemTravel> Travels { get; set; } = new List<PMItemTravel>();
|
||||
public List<PMItemUnit> Units { get; set; } = new List<PMItemUnit>();
|
||||
public List<PMItemOutsideService> OutsideServices { get; set; } = new List<PMItemOutsideService>();
|
||||
|
||||
}//eoc
|
||||
|
||||
}//eons
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user