diff --git a/src/WorkFlowCheck.API/Controllers/SyncController.cs b/src/WorkFlowCheck.API/Controllers/SyncController.cs index d06d663..c23e5bb 100644 --- a/src/WorkFlowCheck.API/Controllers/SyncController.cs +++ b/src/WorkFlowCheck.API/Controllers/SyncController.cs @@ -293,7 +293,27 @@ namespace WorkFlowCheck.API.Controllers return retVal; } + [HttpPost("UpdateCheckListHeader")] + public async Task> UpdateCheckListHeader([FromBody] CheckListHeaderDTO checkListHeaderDTO) + { + var retVal = new ApiResponseDTO() + { + IsSuccess = true + }; + try + { + var result = await _syncService.UpdateCheckListHeaderAsync(checkListHeaderDTO); + retVal.Data = result; + + } + catch (Exception ex) + { + retVal.IsSuccess = false; + Log.Error(ex.Message); + } + return retVal; + } diff --git a/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs b/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs index 3485c09..4a63bce 100644 --- a/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs +++ b/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs @@ -23,5 +23,7 @@ namespace WorkFlowCheck.BL.Services.Interfaces Task> GetAllCheckListTemplateAsync(int userId); Task> GetAllCheckListAsync(int userId); + + Task UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO); } } diff --git a/src/WorkFlowCheck.BL/Services/SyncService.cs b/src/WorkFlowCheck.BL/Services/SyncService.cs index 6dd7832..7cc0c49 100644 --- a/src/WorkFlowCheck.BL/Services/SyncService.cs +++ b/src/WorkFlowCheck.BL/Services/SyncService.cs @@ -340,5 +340,55 @@ namespace WorkFlowCheck.BL.Services return retVal; } + public async Task 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(res); + } + } + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + + return retVal; + } } }