Added CheckList to Update and Create API

This commit is contained in:
ashutosh.nehete 2025-04-10 19:56:30 +05:30
parent 81d487f9f2
commit 90b5152bb2
3 changed files with 48 additions and 6 deletions

View File

@ -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<string>? CheckList { get; set; }
}
}

View File

@ -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; }
}
}

View File

@ -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> activityCheckList = new List<ActivityCheckList>();
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<object>.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> activityCheckList = new List<ActivityCheckList>();
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<object>.SuccessResponse(activity, "Activity updated successfully", 200));
}