using Microsoft.EntityFrameworkCore; using PARR.Domain.Constants; using PARR.Domain.Entities.Base; using System.ComponentModel.DataAnnotations.Schema; namespace PARR.Domain.Entities.RobotEntities { //[Table("RobotHistories", Schema = DatabaseSchemas.Robot)] [Table("Histories", Schema = DatabaseSchemas.Robot)] [Index(nameof(HistoryLevel), nameof(DateCreated), IsDescending = new[] { false, true })] [Index(nameof(RobotConfigurationId), nameof(DateCreated))] [Index(nameof(DateCreated))] public class RobotHistory : IBaseEntity { public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } [NotMapped] public DateTimeOffset? DateModified { get; set; } public int HistoryLevel { get; set; } public string? RobotMessage { get; set; } public string? EsppMessage { get; set; } /// /// Статус. Что нужно было сделать роботу /// public int TaskStatusCode { get; set; } public Guid RobotConfigurationId { get; set; } /// /// IP адрес робота /// public string? RobotIp { get; set; } ///// ///// Уникальный идентификатор серии выполнения, нужен для сопоставления истории ///// //public Guid IdSeries { get; set; } /// /// Идентификатор робота. /// Форматы: H20-R1-T, H20-R1-S, H20-R1-ET, H20-R1-ES /// [Comment("Идентификатор робота. Форматы: H20-R1-T, H20-R1-S, H20-R1-ET, H20-R1-ES.")] public string? RobotId { get; set; } [ForeignKey(nameof(HistoryLevel))] public RobotHistoryLevel? RobotHistoryLevel { get; set; } [ForeignKey(nameof(RobotConfigurationId))] public RobotConfiguration? RobotConfiguration { get; set; } [ForeignKey(nameof(TaskStatusCode))] public TaskStatus? StatusTask { get; set; } } }