From 90b5152bb2ad7839913901b927662d42501d94d2 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Thu, 10 Apr 2025 19:56:30 +0530 Subject: [PATCH] Added CheckList to Update and Create API --- .../Activities/CreateActivityMasterDto.cs | 9 +++-- .../Entitlements/ActivityCheckList.cs | 10 ++++++ .../Controllers/MasterController.cs | 35 ++++++++++++++++++- 3 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 Marco.Pms.Model/Entitlements/ActivityCheckList.cs diff --git a/Marco.Pms.Model/Dtos/Activities/CreateActivityMasterDto.cs b/Marco.Pms.Model/Dtos/Activities/CreateActivityMasterDto.cs index 74913d7..9961661 100644 --- a/Marco.Pms.Model/Dtos/Activities/CreateActivityMasterDto.cs +++ b/Marco.Pms.Model/Dtos/Activities/CreateActivityMasterDto.cs @@ -1,10 +1,9 @@ -using System.ComponentModel; - -namespace Marco.Pms.Model.Dtos.Activities +namespace Marco.Pms.Model.Dtos.Activities { public class CreateActivityMasterDto { - public string ActivityName { get; set; } - public string UnitOfMeasurement { get; set; } + public string? ActivityName { get; set; } + public string? UnitOfMeasurement { get; set; } + public List? CheckList { get; set; } } } diff --git a/Marco.Pms.Model/Entitlements/ActivityCheckList.cs b/Marco.Pms.Model/Entitlements/ActivityCheckList.cs new file mode 100644 index 0000000..aa2637b --- /dev/null +++ b/Marco.Pms.Model/Entitlements/ActivityCheckList.cs @@ -0,0 +1,10 @@ +namespace Marco.Pms.Model.Entitlements +{ + public class ActivityCheckList + { + public int Id { get; set; } + public int ActivityMasterId { get; set; } + public string? CheckList { get; set; } + public int TenantId { get; set; } + } +} diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index 204d37b..1096484 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -43,6 +43,22 @@ namespace Marco.Pms.Services.Controllers var activityMaster = createActivity.ToActivityMasterFromCreateActivityMasterDto(tenantId); _context.ActivityMasters.Add(activityMaster); await _context.SaveChangesAsync(); + + if (createActivity.CheckList != null) { + List activityCheckList = new List(); + foreach (var check in createActivity.CheckList) + { + ActivityCheckList checkList = new ActivityCheckList + { + ActivityMasterId = activityMaster.Id, + TenantId = tenantId, + CheckList = check + }; + activityCheckList.Add(checkList); + } + //_context.ActivityCheckList.AddRange(activityCheckList); + await _context.SaveChangesAsync(); + } return Ok(ApiResponse.SuccessResponse(activityMaster, "Activity created successfully", 200)); } @@ -52,11 +68,28 @@ namespace Marco.Pms.Services.Controllers var tenantId = _userHelper.GetTenantId(); var employee = await _userHelper.GetCurrentEmployeeAsync(); ActivityMaster? activity = await _context.ActivityMasters.FirstOrDefaultAsync(x => x.Id == id); - if (activity != null) { + if (activity != null && createActivity.UnitOfMeasurement != null) { activity.ActivityName = activity.ActivityName; activity.UnitOfMeasurement = createActivity.UnitOfMeasurement; activity.TenantId = tenantId; await _context.SaveChangesAsync(); + + if (createActivity.CheckList != null) + { + List activityCheckList = new List(); + foreach (var check in createActivity.CheckList) + { + ActivityCheckList checkList = new ActivityCheckList + { + ActivityMasterId = activity.Id, + TenantId = tenantId, + CheckList = check + }; + activityCheckList.Add(checkList); + } + //_context.ActivityCheckList.UpdateRange(activityCheckList); + await _context.SaveChangesAsync(); + } return Ok(ApiResponse.SuccessResponse(activity, "Activity updated successfully", 200)); }