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();
}
}