diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index 037db52..38ba783 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -105,45 +105,25 @@ namespace Marco.Pms.Services.Controllers activity.ActivityName = createActivity.ActivityName; activity.UnitOfMeasurement = createActivity.UnitOfMeasurement; - List activityCheckLists = await _context.ActivityCheckLists.AsNoTracking().Where(c => c.ActivityId == activity.Id).ToListAsync(); List checkListVM = new List(); if (createActivity.CheckList != null) { - var newCheckIds = createActivity.CheckList.Select(c => c.Id); - List updateCheckList = new List(); - List deleteCheckList = new List(); - foreach (var check in activityCheckLists) + List activityCheckList = new List(); + foreach (var check in createActivity.CheckList) { - if (newCheckIds.Contains(check.Id)) - { - var updatedCheck = createActivity.CheckList.Find(c => c.Id == check.Id); - ActivityCheckList checkList = updatedCheck.ToActivityCheckListFromCreateCheckListDto(tenantId, activity.Id); - updateCheckList.Add(checkList); - } - else - { - deleteCheckList.Add(check); - } - } - _context.ActivityCheckLists.UpdateRange(updateCheckList); - if (deleteCheckList != null) - { - _context.ActivityCheckLists.RemoveRange(deleteCheckList); + ActivityCheckList checkList = check.ToActivityCheckListFromCreateCheckListDto(tenantId, activity.Id); + activityCheckList.Add(checkList); } + _context.ActivityCheckLists.UpdateRange(activityCheckList); await _context.SaveChangesAsync(); - foreach (ActivityCheckList check in updateCheckList) + foreach (ActivityCheckList check in activityCheckList) { var checkVM = check.ToCheckListVMFromActivityCheckList(activity.Id, false); checkListVM.Add(checkVM); } } - else if (activityCheckLists != null) - { - _context.ActivityCheckLists.RemoveRange(activityCheckLists); - await _context.SaveChangesAsync(); - } ActivityVM activityVM = activity.ToActivityVMFromActivityMaster(checkListVM); _logger.LogInfo("activity updated successfully from tenant {tenantId}", tenantId); return Ok(ApiResponse.SuccessResponse(activityVM, "activity updated successfully", 200));