feat: Добавлены таблицы и сервисы для логирования работы робота. Обновлена таблица templates.
This commit is contained in:
23
PARR.DAL/Models/RobotHistoryLevel.cs
Normal file
23
PARR.DAL/Models/RobotHistoryLevel.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace PARR.DAL.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Уровень логов работы робота
|
||||
/// </summary>
|
||||
[Table("RobotHistoryLevels")]
|
||||
public class RobotHistoryLevel
|
||||
{
|
||||
[Key]
|
||||
public int Level { get; set; }
|
||||
|
||||
public required string Name { get; set; }
|
||||
|
||||
public required string Description { get; set; }
|
||||
|
||||
|
||||
public ICollection<RobotTemplateHistory> robotTemplateHistories { get; set; } = new HashSet<RobotTemplateHistory>();
|
||||
|
||||
}
|
||||
}
|
||||
23
PARR.DAL/Models/RobotStatus.cs
Normal file
23
PARR.DAL/Models/RobotStatus.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace PARR.DAL.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Статус работы робота
|
||||
/// </summary>
|
||||
[Table("RobotStatuses")]
|
||||
public class RobotStatus
|
||||
{
|
||||
[Key]
|
||||
public int Code { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Required]
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
||||
public ICollection<Template> Templates { get; set; } = new HashSet<Template>();
|
||||
}
|
||||
}
|
||||
46
PARR.DAL/Models/RobotTemplateHistory.cs
Normal file
46
PARR.DAL/Models/RobotTemplateHistory.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using PARR.DAL.Models.Base;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace PARR.DAL.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// История работы робота по управлению шаблонами в ЕСПП
|
||||
/// </summary>
|
||||
[Table("RobotTemplateHistories")]
|
||||
public class RobotTemplateHistory : IBase
|
||||
{
|
||||
[Key]
|
||||
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 Guid TemplateId { get; set; }
|
||||
|
||||
public int TemplateStatusCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Уникальный идентификатор серии выполнения, нужен для сопоставления истории
|
||||
/// </summary>
|
||||
public Guid IdSeries { get; set; }
|
||||
|
||||
|
||||
[ForeignKey(nameof(HistoryLevel))]
|
||||
public RobotHistoryLevel? RobotHistoryLevel { get; set; }
|
||||
|
||||
[ForeignKey(nameof(TemplateId))]
|
||||
public Template? Template { get; set; }
|
||||
|
||||
[ForeignKey(nameof(TemplateStatusCode))]
|
||||
public StatusTemplate? StatusTemplate { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,9 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace PARR.DAL.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Статус шаблона. Что нужно сделать роботу в ЕСПП
|
||||
/// </summary>
|
||||
[Table("StatusTemplates")]
|
||||
public class StatusTemplate
|
||||
{
|
||||
@@ -16,5 +19,7 @@ namespace PARR.DAL.Models
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
||||
public ICollection<Template> Templates { get; set; } = new HashSet<Template>();
|
||||
|
||||
public ICollection<RobotTemplateHistory> RobotTemplateHistories { get; set; } = new HashSet<RobotTemplateHistory>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,26 @@ namespace PARR.DAL.Models
|
||||
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Статус шаблона. Что нужно сделать роботу в ЕСПП
|
||||
/// </summary>
|
||||
public int StatusCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Статус работы робота
|
||||
/// </summary>
|
||||
public int RobotStatusCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Количество попыток выполнения задания роботом
|
||||
/// </summary>
|
||||
public int RobotAttemptsNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Последняя дата обновления статуса RobotStatusCode роботом
|
||||
/// </summary>
|
||||
public DateTimeOffset RobotLastStatusUpdated { get; set; }
|
||||
|
||||
|
||||
[ForeignKey(nameof(StatusCode))]
|
||||
public StatusTemplate? StatusTemplate { get; set; }
|
||||
@@ -38,5 +56,11 @@ namespace PARR.DAL.Models
|
||||
[ForeignKey(nameof(HostId))]
|
||||
public Host? Host { get; set; }
|
||||
|
||||
[ForeignKey(nameof(RobotStatusCode))]
|
||||
public RobotStatus? RobotStatus { get; set; }
|
||||
|
||||
|
||||
public ICollection<RobotTemplateHistory> RobotTemplateHistories { get; set; } = new HashSet<RobotTemplateHistory>();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user