using Microsoft.EntityFrameworkCore; using PARR.DAL.Models.Base; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace PARR.DAL.Models { /// /// Наряды ЕСПП /// [Table("Orders")] [Index(nameof(Number), IsUnique = true)] public class Order : IBase { [Key] public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } public DateTimeOffset? DateModified { get; set; } public required string Number { get; set; } public required string ShortName { get; set; } public string? WorkGroup { get; set; } public Guid? TemplateId { get; set; } /// /// Статус в ЕСПП /// public int StatusCode { get; set; } /// /// Статус который должен быть в ЕСПП /// public int? NextStatusCode { get; set; } /// /// Дата генерации наряда в ЕСПП /// public DateTimeOffset? GenerateDate { get; set; } public DateTimeOffset ExpirationDate { get; set; } [ForeignKey(nameof(TemplateId))] public Template? Template { get; set; } [ForeignKey(nameof(StatusCode))] public OrderStatus? OrderStatus { get; set; } [ForeignKey(nameof(NextStatusCode))] public OrderStatus? NextStatus { get; set; } public ICollection AgentHistories { get; set; } = new HashSet(); } }