Implemented the cache in task allocation
This commit is contained in:
parent
56aca323e5
commit
aebb344a5a
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
@ -31,11 +32,12 @@ namespace MarcoBMS.Services.Controllers
|
||||
private readonly ILoggingService _logger;
|
||||
private readonly IHubContext<MarcoHub> _signalR;
|
||||
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,
|
||||
IHubContext<MarcoHub> signalR)
|
||||
IHubContext<MarcoHub> signalR, CacheUpdateHelper cache)
|
||||
{
|
||||
_context = context;
|
||||
_userHelper = userHelper;
|
||||
@ -43,6 +45,7 @@ namespace MarcoBMS.Services.Controllers
|
||||
_logger = logger;
|
||||
_signalR = signalR;
|
||||
_permissionServices = permissionServices;
|
||||
_cache = cache;
|
||||
Approve_Task = Guid.Parse("db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c");
|
||||
Assign_Report_Task = Guid.Parse("6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2");
|
||||
}
|
||||
@ -86,6 +89,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();
|
||||
@ -259,6 +264,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
|
||||
@ -679,6 +688,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)
|
||||
{
|
||||
|
@ -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 ---------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user