This commit is contained in:
2025-03-28 20:51:04 +01:00
3 changed files with 72 additions and 0 deletions
@@ -293,7 +293,27 @@ namespace WorkFlowCheck.API.Controllers
return retVal;
}
[HttpPost("UpdateCheckListHeader")]
public async Task<ApiResponseDTO<CheckListHeaderDTO>> UpdateCheckListHeader([FromBody] CheckListHeaderDTO checkListHeaderDTO)
{
var retVal = new ApiResponseDTO<CheckListHeaderDTO>()
{
IsSuccess = true
};
try
{
var result = await _syncService.UpdateCheckListHeaderAsync(checkListHeaderDTO);
retVal.Data = result;
}
catch (Exception ex)
{
retVal.IsSuccess = false;
Log.Error(ex.Message);
}
return retVal;
}
@@ -23,5 +23,7 @@ namespace WorkFlowCheck.BL.Services.Interfaces
Task<List<CheckListTemplateHeaderDTO>> GetAllCheckListTemplateAsync(int userId);
Task<List<CheckListHeaderDTO>> GetAllCheckListAsync(int userId);
Task<CheckListHeaderDTO> UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO);
}
}
@@ -340,5 +340,55 @@ namespace WorkFlowCheck.BL.Services
return retVal;
}
public async Task<CheckListHeaderDTO> UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO)
{
var retVal = new CheckListHeaderDTO();
try
{
if (checkListHeaderDTO.Id == 0) //Hozzáadás, ha Id == 0
{
}
else
{
var res = await _dbContext.CheckListHeaders
.Include(i => i.CheckListRows)
.Where(w => w.Id == checkListHeaderDTO.Id)
.FirstOrDefaultAsync();
if (res != null)
{
var ids = checkListHeaderDTO.CheckListRowDTO?.Select(r => r.Id).ToList();
if (ids != null && ids.Count > 0)
{
var rowsToUpdate = await _dbContext.CheckListRows
.Where(r => ids.Contains(r.Id))
.ToListAsync();
foreach (var row in rowsToUpdate)
{
var dtoRow = checkListHeaderDTO.CheckListRowDTO?.FirstOrDefault(r => r.Id == row.Id);
if (dtoRow != null)
{
row.Answer = dtoRow.Answer;
if (dtoRow.Photo != null && dtoRow.Photo.Length > 0)
{
row.Photo = dtoRow.Photo;
}
}
}
}
await _dbContext.SaveChangesAsync();
retVal = _mapper.Map<CheckListHeaderDTO>(res);
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
}
}