diff --git a/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs b/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs index 61e5bdcb..7a01f7df 100644 --- a/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs +++ b/AsbCloudInfrastructure/Repository/ChangeLogRepositoryAbstract.cs @@ -80,31 +80,31 @@ public abstract class ChangeLogRepositoryAbstract : ICh } using var transaction = db.Database.BeginTransaction(); - foreach (var entity in entitiesToDelete) - { - entity.IdState = ChangeLogAbstract.IdStateReplaced; - entity.Obsolete = updateTime; - entity.IdEditor = idUser; - } - result += await db.SaveChangesAsync(token); - - var entitiesNew = dtos.Select(Convert); - foreach (var entity in entitiesNew) - { - entity.IdPrevious = entity.Id; - entity.Id = default; - entity.Creation = updateTime; - entity.IdAuthor = idUser; - entity.Obsolete = null; - entity.IdEditor = null; - entity.IdState = ChangeLogAbstract.IdStateActual; - dbSet.Add(entity); - } - - result += await SaveChangesWithExceptionHandling(token); - try { + foreach (var entity in entitiesToDelete) + { + entity.IdState = ChangeLogAbstract.IdStateReplaced; + entity.Obsolete = updateTime; + entity.IdEditor = idUser; + } + result += await db.SaveChangesAsync(token); + + var entitiesNew = dtos.Select(Convert); + foreach (var entity in entitiesNew) + { + entity.IdPrevious = entity.Id; + entity.Id = default; + entity.Creation = updateTime; + entity.IdAuthor = idUser; + entity.Obsolete = null; + entity.IdEditor = null; + entity.IdState = ChangeLogAbstract.IdStateActual; + dbSet.Add(entity); + } + + result += await SaveChangesWithExceptionHandling(token); + await transaction.CommitAsync(token); return result; } @@ -153,10 +153,11 @@ public abstract class ChangeLogRepositoryAbstract : ICh { var result = 0; using var transaction = await db.Database.BeginTransactionAsync(token); - result += await Clear(idUser, request, token); - result += await InsertRange(idUser, dtos, token); try { + result += await Clear(idUser, request, token); + result += await InsertRange(idUser, dtos, token); + await transaction.CommitAsync(token); return result; } diff --git a/AsbCloudInfrastructure/Services/ProcessMapPlan/Parser/ProcessMapPlanParser.cs b/AsbCloudInfrastructure/Services/ProcessMapPlan/Parser/ProcessMapPlanParser.cs index c08ec6e8..496010c4 100644 --- a/AsbCloudInfrastructure/Services/ProcessMapPlan/Parser/ProcessMapPlanParser.cs +++ b/AsbCloudInfrastructure/Services/ProcessMapPlan/Parser/ProcessMapPlanParser.cs @@ -12,7 +12,6 @@ public abstract class ProcessMapPlanParser : ParserExcelService protected static int? GetIdMode(string? modeName) => modeName?.Trim().ToLower() switch { - "ручной" => 0, "ротор" => 1, "слайд" => 2, _ => null