feat(dal): Модели и сервисы для работы с Task

This commit is contained in:
Mikhail Trubnikov
2026-03-17 16:50:49 +10:00
parent 547cb894be
commit 01c0200c6d
14 changed files with 294 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ using PARR.DAL.Extensions;
using PARR.DAL.Models;
using PARR.DAL.Models.Job;
using PARR.DAL.Models.Schedule;
using PARR.DAL.Models.Task;
using PARR.DAL.Models.Unit;
namespace PARR.DAL.Context
@@ -117,6 +118,15 @@ namespace PARR.DAL.Context
#endregion
#region Tasks
public DbSet<PARR.DAL.Models.Task.Task> Tasks { get; set; }
public DbSet<PARR.DAL.Models.Task.TaskStatus> TaskStatus { get; set; }
public DbSet<TaskType> TaskTypes { get; set; }
public DbSet<TaskError> TaskErrors { get; set; }
#endregion
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@@ -555,6 +565,35 @@ namespace PARR.DAL.Context
#endregion
#region TaskType
modelBuilder.Entity<TaskType>(f =>
{
f.HasData(new TaskType[]
{
new() { Code = TaskTypeEnum.Workload, Name = TaskTypeEnum.Workload.ToString(), Description = "Формирование данных для отчетности - Загруженность", MaxRetries = 2 }
}
);
});
#endregion
#region TaskStatus
modelBuilder.Entity<PARR.DAL.Models.Task.TaskStatus>(f =>
{
f.HasData(new PARR.DAL.Models.Task.TaskStatus[]
{
new(){Code=TaskTaskStatusEnum.Wait, Name=TaskTaskStatusEnum.Wait.ToString(), Description="Ожидание"},
new(){Code=TaskTaskStatusEnum.Processing, Name=TaskTaskStatusEnum.Processing.ToString(), Description="В работе"},
new(){Code=TaskTaskStatusEnum.Success, Name=TaskTaskStatusEnum.Success.ToString(), Description="Выполнено успешно"},
new(){Code=TaskTaskStatusEnum.Error, Name=TaskTaskStatusEnum.Error.ToString(), Description="Ошибка"}
});
});
#endregion
}
//protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

View File

@@ -18,5 +18,11 @@
/// Расписание регламентных работ
/// </summary>
public const string Schedule = "schedule";
/// <summary>
/// Управление очередями
/// </summary>
public const string Task = "task";
}
}