54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using PARR.Common.Domain;
|
|
using PARR.Constants;
|
|
using PARR.DAL.Context;
|
|
using PARR.DAL.Contracts;
|
|
using PARR.DAL.Models.Base;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace PARR.DAL.Models.TaskModels
|
|
{
|
|
[Table("Tasks", Schema = DataContextSettings.Task)]
|
|
[Comment("Таблица заданий")]
|
|
public class TaskItem : IBase, IHistoryInitiator
|
|
{
|
|
[Key]
|
|
public Guid Id { get; set; }
|
|
|
|
public DateTimeOffset DateCreated { get; set; }
|
|
|
|
public DateTimeOffset? DateModified { get; set; }
|
|
|
|
public TaskTypeEnum TypeCode { get; set; }
|
|
|
|
public TaskItemStatusEnum StatusCode { get; set; }
|
|
|
|
public string? Payload { get; set; }
|
|
|
|
/// <summary>
|
|
/// Кол-во попыток
|
|
/// </summary>
|
|
public int RetryCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Дата завершения (устанавливается или когда Успех или когда Ошибка)
|
|
/// </summary>
|
|
public DateTimeOffset? ProcessedAt { get; set; }
|
|
|
|
|
|
public string? InitiatorIp { get; set; }
|
|
public ParrComponentsEnum? InitiatorParrComponentId { get; set; }
|
|
public string? InitiatorComment { get; set; }
|
|
|
|
|
|
[ForeignKey(nameof(TypeCode))]
|
|
public TaskType? TaskType { get; set; }
|
|
|
|
[ForeignKey(nameof(StatusCode))]
|
|
public TaskStatus? TaskStatus { get; set; }
|
|
|
|
public ICollection<TaskError> TaskErrors { get; set; } = new HashSet<TaskError>();
|
|
}
|
|
}
|