feat(api, Core, Domain, Dal): Для entity моделей, для DateModified создан атрибут ManualControl - отключает автоматическое управление датой. TaskReconciliationService - сервис по управлению задачами в статусах ошибки, зависла. ITaskMqSettingsProvider - провайдер для управления настройками MQ в зависимости от TaskType

This commit is contained in:
Mikhail Trubnikov
2026-04-22 16:13:23 +10:00
parent 001c09edaa
commit 7da2265d1c
16 changed files with 465 additions and 30 deletions

View File

@@ -0,0 +1,11 @@
namespace PARR.Domain.Entities.Attributes
{
/// <summary>
/// Отключает автоматическое управление DateModified.
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public class ManualControlAttribute : Attribute
{
// позже, можно применять к другим свойствам, если придумаем зачем и реализуем логику
}
}

View File

@@ -2,6 +2,11 @@
{
public interface IBaseEntityDateModified
{
/// <summary>
/// Дата обновления объекта в БД.
/// Обновляется автоматически при комите.
/// Чтобы отключить автоматическое управление, применить атрибут [ManualControl]
/// </summary>
public DateTimeOffset? DateModified { get; set; }
}
}

View File

@@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Attributes;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Enums;
@@ -17,6 +18,7 @@ namespace PARR.Domain.Entities.TaskEntities
public DateTimeOffset DateCreated { get; set; }
[ManualControl]
public DateTimeOffset? DateModified { get; set; }
public TaskTypeEnum TypeCode { get; set; }