using Microsoft.EntityFrameworkCore; 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.Task { [Table("Tasks", Schema = DataContextSettings.Task)] [Comment("Таблица заданий")] public class Task : IBase { [Key] public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } public DateTimeOffset? DateModified { get; set; } public TaskTypeEnum TypeCode { get; set; } public TaskTaskStatusEnum StatusCode { get; set; } public string? Payload { get; set; } /// /// Кол-во попыток /// public int RetryCount { get; set; } /// /// Дата завершения (устанавливается или когда Успех или когда Ошибка) /// public DateTimeOffset? ProcessedAt { get; set; } [ForeignKey(nameof(TypeCode))] public TaskType? TaskType { get; set; } [ForeignKey(nameof(StatusCode))] public TaskStatus? TaskStatus { get; set; } public ICollection TaskErrors { get; set; } = new HashSet(); } }