Merge branch 'template-rename-pending' into dev

# Conflicts:
#	PARR.DAL/Repositories/TemplateRepository.cs
This commit is contained in:
Mikhail Trubnikov
2026-07-27 09:06:36 +10:00
27 changed files with 933 additions and 292 deletions

View File

@@ -16,7 +16,7 @@ namespace PARR.DAL.Repositories
public async Task<Template?> GetTemplateByNameAsync(string name)
{
logger.LogDebug("Поиск шаблона по имени: {TemplateName}", name);
_logger.LogDebug("Поиск шаблона по имени: {TemplateName}", name);
var template = await GetWithIncludes()
.Include(t => t.RobotConfigurations)
@@ -24,11 +24,11 @@ namespace PARR.DAL.Repositories
if (template != null)
{
logger.LogDebug("Шаблон найден: {TemplateId}, имя: {TemplateName}", template.Id, template.Name);
_logger.LogDebug("Шаблон найден: {TemplateId}, имя: {TemplateName}", template.Id, template.Name);
}
else
{
logger.LogDebug("Шаблон с именем {TemplateName} не найден", name);
_logger.LogDebug("Шаблон с именем {TemplateName} не найден", name);
}
return template;
@@ -36,7 +36,7 @@ namespace PARR.DAL.Repositories
public IQueryable<Template> GetWithIncludes()
{
logger.LogDebug("Получаю шаблоны с include связями");
_logger.LogDebug("Получаю шаблоны с include связями");
return Get()
.Include(h => h.Unit)
@@ -60,7 +60,7 @@ namespace PARR.DAL.Repositories
public override Task<bool> CreateAsync(Template obj)
{
logger.LogDebug("Создание шаблона: {TemplateName}", obj.Name);
_logger.LogDebug("Создание шаблона: {TemplateName}", obj.Name);
// добавление роботов для шаблона
obj.RobotConfigurations = new List<RobotConfiguration>
@@ -92,7 +92,7 @@ namespace PARR.DAL.Repositories
};
logger.LogDebug("Добавлены роботы для шаблона {TemplateName}", obj.Name);
_logger.LogDebug("Добавлены роботы для шаблона {TemplateName}", obj.Name);
return base.CreateAsync(obj);
}
@@ -100,7 +100,7 @@ namespace PARR.DAL.Repositories
public async Task<Guid?> ReserveUnusedTemplateAsync(Guid newUnitId, HistoryInitiator initiator)
{
logger.LogDebug("Резервирую неиспользуемый шаблон для UnitId: {UnitId}", newUnitId);
_logger.LogDebug("Резервирую неиспользуемый шаблон для UnitId: {UnitId}", newUnitId);
// Явная транзакция гарантирует атомарность UPDATE + подзапроса
await using var transaction = await EntityContext.Database.BeginTransactionAsync();
@@ -167,18 +167,18 @@ namespace PARR.DAL.Repositories
if (reservedTemplateId != Guid.Empty)
{
logger.LogInformation("Успешно зарезервирован шаблон с ID: {TemplateId} для UnitId: {UnitId}",
_logger.LogInformation("Успешно зарезервирован шаблон с ID: {TemplateId} для UnitId: {UnitId}",
reservedTemplateId, newUnitId);
return reservedTemplateId;
}
logger.LogDebug("Не удалось зарезервировать шаблон для UnitId: {UnitId}", newUnitId);
_logger.LogDebug("Не удалось зарезервировать шаблон для UnitId: {UnitId}", newUnitId);
return null;
}
catch (Exception ex)
{
await transaction.RollbackAsync();
logger.LogError(ex, "Ошибка при резервировании шаблона для UnitId: {UnitId}", newUnitId);
_logger.LogError(ex, "Ошибка при резервировании шаблона для UnitId: {UnitId}", newUnitId);
throw;
}
}