feat(all): исправления после добавления таблицы WorkGroup. Доработана логика генерации шаблонов с учетом рабочих групп

This commit is contained in:
Mikhail Trubnikov
2024-06-04 12:03:15 +10:00
parent 90948108c1
commit 7deef9a264
15 changed files with 227 additions and 20 deletions

View File

@@ -58,7 +58,8 @@ namespace PARR.API.Controllers.V1
{
query = query.Include(t => t.Application).ThenInclude(t => t!.ApplicationType)
.Include(t => t.Work)
.Include(t => t.Templates);
.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup);
}
query = query.OrderBy(t => t.ShortDescription);
@@ -93,6 +94,7 @@ namespace PARR.API.Controllers.V1
.Include(t => t.Application).ThenInclude(t => t!.ApplicationType)
.Include(t => t.Work)
.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.FirstOrDefaultAsync(t => t.Id == id);
if (applicationInWork == null)
@@ -149,6 +151,16 @@ namespace PARR.API.Controllers.V1
});
});
//Добавляем рабочие группы
request.WorkGroups.ForEach(workGroupId =>
{
applicationInWork.WorkGroups.Add(new AppInWorkInWorkGroup
{
ApplicationsInWorkId = applicationInWork.Id,
WorkGroupId = workGroupId
});
});
if (!await applicationsInWorkService.CreateAsync(applicationInWork) || !await applicationsInWorkService.CommitAsync())
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = "Ошибка при созании задания на выполнение работ" } }));
@@ -159,6 +171,7 @@ namespace PARR.API.Controllers.V1
.Include(t => t.Application).ThenInclude(t => t!.ApplicationType)
.Include(t => t.Work)
.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.FirstAsync(t => t.Id == applicationInWork.Id);
var locationUri = uriService.GetUri(ApiRoutes.Job.Get, ApiRoutes.Job.getParam, createdApplicationInWork.Id);
@@ -215,6 +228,18 @@ namespace PARR.API.Controllers.V1
});
});
//Обновляем рабочие группы
orig.WorkGroups.Clear();
request.WorkGroups.ForEach(workGroupId =>
{
orig.WorkGroups.Add(new AppInWorkInWorkGroup
{
ApplicationsInWorkId = orig.Id,
WorkGroupId = workGroupId
});
});
if (!await applicationsInWorkService.CommitAsync())
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = "Ошибка при изменении задания на выполнение работ." } }));
@@ -227,6 +252,7 @@ namespace PARR.API.Controllers.V1
.Include(t => t.Application).ThenInclude(t => t!.ApplicationType)
.Include(t => t.Work)
.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.FirstAsync(t => t.Id == orig.Id);
return Ok(new Response<ApplicationInWorkResponse>(mapper.Map<ApplicationInWorkResponse>(updatedApplicationInWork), true));