ProjectDetails_Split_API #103

Merged
admin merged 47 commits from ProjectDetails_Split_API into main 2025-07-11 11:32:34 +00:00
4 changed files with 23 additions and 6 deletions
Showing only changes of commit 3646163593 - Show all commits

View File

@ -26,8 +26,6 @@ namespace Marco.Pms.CacheHelper
}
public async Task AddProjectDetailsToCache(Project project)
{
//_logger.LogInfo("[AddProjectDetails] Initiated for ProjectId: {ProjectId}", project.Id);
var projectDetails = new ProjectMongoDB
@ -544,7 +542,7 @@ namespace Marco.Pms.CacheHelper
.FirstOrDefaultAsync();
return workItem;
}
public async Task<bool> UpdatePlannedAndCompleteWorksInWorkItem(Guid id, double plannedWork = 0, double completedWork = 0, double todaysAssigned = 0)
public async Task<bool> UpdatePlannedAndCompleteWorksInWorkItemToCache(Guid id, double plannedWork, double completedWork, double todaysAssigned)
{
var filter = Builders<WorkItemMongoDB>.Filter.Eq(p => p.Id, id.ToString());
var updates = Builders<WorkItemMongoDB>.Update

View File

@ -29,7 +29,7 @@ namespace MarcoBMS.Services.Controllers
private readonly ApplicationDbContext _context;
private readonly UserHelper _userHelper;
private readonly ILoggingService _logger;
private readonly RolesHelper _rolesHelper;
//private readonly RolesHelper _rolesHelper;
private readonly ProjectsHelper _projectsHelper;
private readonly IHubContext<MarcoHub> _signalR;
private readonly PermissionServices _permission;
@ -47,7 +47,7 @@ namespace MarcoBMS.Services.Controllers
_context = context;
_userHelper = userHelper;
_logger = logger;
_rolesHelper = rolesHelper;
//_rolesHelper = rolesHelper;
_projectsHelper = projectHelper;
_signalR = signalR;
_cache = cache;

View File

@ -6,6 +6,7 @@ using Marco.Pms.Model.Mapper;
using Marco.Pms.Model.Projects;
using Marco.Pms.Model.Utilities;
using Marco.Pms.Model.ViewModels.Activities;
using Marco.Pms.Services.Helpers;
using Marco.Pms.Services.Hubs;
using Marco.Pms.Services.Service;
using MarcoBMS.Services.Helpers;
@ -33,7 +34,7 @@ namespace MarcoBMS.Services.Controllers
private readonly PermissionServices _permissionServices;
public TaskController(ApplicationDbContext context, UserHelper userHelper, S3UploadService s3Service, ILoggingService logger, PermissionServices permissionServices,
IHubContext<MarcoHub> signalR)
IHubContext<MarcoHub> signalR, CacheUpdateHelper cache)
{
_context = context;
_userHelper = userHelper;
@ -82,6 +83,8 @@ namespace MarcoBMS.Services.Controllers
_context.TaskAllocations.Add(taskAllocation);
await _context.SaveChangesAsync();
await _cache.UpdatePlannedAndCompleteWorksInWorkItem(taskAllocation.WorkItemId, todaysAssigned: taskAllocation.PlannedTask);
_logger.LogInfo("Task {TaskId} assigned by Employee {EmployeeId}", taskAllocation.Id, employee.Id);
var response = taskAllocation.ToAssignTaskVMFromTaskAllocation();
@ -255,6 +258,10 @@ namespace MarcoBMS.Services.Controllers
}
await _context.SaveChangesAsync();
var selectedWorkAreaId = taskAllocation.WorkItem?.WorkAreaId ?? Guid.Empty;
await _cache.UpdatePlannedAndCompleteWorksInWorkItem(taskAllocation.WorkItemId, completedWork: taskAllocation.CompletedTask);
await _cache.UpdatePlannedAndCompleteWorksInBuilding(selectedWorkAreaId, completedWork: taskAllocation.CompletedTask);
var response = taskAllocation.ToReportTaskVMFromTaskAllocation();
var comments = await _context.TaskComments
@ -675,6 +682,7 @@ namespace MarcoBMS.Services.Controllers
/// </summary>
/// <param name="approveTask">DTO containing task approval details.</param>
/// <returns>IActionResult indicating success or failure.</returns>
[HttpPost("approve")]
public async Task<IActionResult> ApproveTask(ApproveTaskDto approveTask)
{

View File

@ -174,6 +174,17 @@ namespace Marco.Pms.Services.Helpers
return null;
}
}
public async Task UpdatePlannedAndCompleteWorksInWorkItem(Guid id, double plannedWork = 0, double completedWork = 0, double todaysAssigned = 0)
{
try
{
var response = await _projectCache.UpdatePlannedAndCompleteWorksInWorkItemToCache(id, plannedWork, completedWork, todaysAssigned);
}
catch (Exception ex)
{
_logger.LogWarning("Error occured while updating planned work, completed work, and today's assigned work in workItems in Cache: {Error}", ex.Message);
}
}
// ------------------------------------ Employee Profile Cache ---------------------------------------