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 25 additions and 6 deletions
Showing only changes of commit 67c8bee2c2 - 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.Service;
using MarcoBMS.Services.Helpers;
using MarcoBMS.Services.Service;
@ -28,16 +29,18 @@ namespace MarcoBMS.Services.Controllers
private readonly S3UploadService _s3Service;
private readonly ILoggingService _logger;
private readonly PermissionServices _permissionServices;
private readonly CacheUpdateHelper _cache;
private readonly Guid Approve_Task;
private readonly Guid Assign_Report_Task;
public TaskController(ApplicationDbContext context, UserHelper userHelper, S3UploadService s3Service, ILoggingService logger, PermissionServices permissionServices)
public TaskController(ApplicationDbContext context, UserHelper userHelper, S3UploadService s3Service, ILoggingService logger, PermissionServices permissionServices, CacheUpdateHelper cache)
{
_context = context;
_userHelper = userHelper;
_s3Service = s3Service;
_logger = logger;
_permissionServices = permissionServices;
_cache = cache;
Approve_Task = Guid.Parse("db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c");
Assign_Report_Task = Guid.Parse("6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2");
}
@ -81,6 +84,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();
@ -245,6 +250,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
@ -653,6 +662,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 ---------------------------------------