Implemented the cache in task allocation
This commit is contained in:
parent
411902eef7
commit
67c8bee2c2
@ -26,8 +26,6 @@ namespace Marco.Pms.CacheHelper
|
|||||||
}
|
}
|
||||||
public async Task AddProjectDetailsToCache(Project project)
|
public async Task AddProjectDetailsToCache(Project project)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
//_logger.LogInfo("[AddProjectDetails] Initiated for ProjectId: {ProjectId}", project.Id);
|
//_logger.LogInfo("[AddProjectDetails] Initiated for ProjectId: {ProjectId}", project.Id);
|
||||||
|
|
||||||
var projectDetails = new ProjectMongoDB
|
var projectDetails = new ProjectMongoDB
|
||||||
@ -544,7 +542,7 @@ namespace Marco.Pms.CacheHelper
|
|||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
return workItem;
|
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 filter = Builders<WorkItemMongoDB>.Filter.Eq(p => p.Id, id.ToString());
|
||||||
var updates = Builders<WorkItemMongoDB>.Update
|
var updates = Builders<WorkItemMongoDB>.Update
|
||||||
|
@ -29,7 +29,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
private readonly ApplicationDbContext _context;
|
private readonly ApplicationDbContext _context;
|
||||||
private readonly UserHelper _userHelper;
|
private readonly UserHelper _userHelper;
|
||||||
private readonly ILoggingService _logger;
|
private readonly ILoggingService _logger;
|
||||||
private readonly RolesHelper _rolesHelper;
|
//private readonly RolesHelper _rolesHelper;
|
||||||
private readonly ProjectsHelper _projectsHelper;
|
private readonly ProjectsHelper _projectsHelper;
|
||||||
private readonly IHubContext<MarcoHub> _signalR;
|
private readonly IHubContext<MarcoHub> _signalR;
|
||||||
private readonly PermissionServices _permission;
|
private readonly PermissionServices _permission;
|
||||||
@ -47,7 +47,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context = context;
|
_context = context;
|
||||||
_userHelper = userHelper;
|
_userHelper = userHelper;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_rolesHelper = rolesHelper;
|
//_rolesHelper = rolesHelper;
|
||||||
_projectsHelper = projectHelper;
|
_projectsHelper = projectHelper;
|
||||||
_signalR = signalR;
|
_signalR = signalR;
|
||||||
_cache = cache;
|
_cache = cache;
|
||||||
|
@ -6,6 +6,7 @@ using Marco.Pms.Model.Mapper;
|
|||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels.Activities;
|
using Marco.Pms.Model.ViewModels.Activities;
|
||||||
|
using Marco.Pms.Services.Helpers;
|
||||||
using Marco.Pms.Services.Service;
|
using Marco.Pms.Services.Service;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
using MarcoBMS.Services.Service;
|
||||||
@ -28,16 +29,18 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
private readonly S3UploadService _s3Service;
|
private readonly S3UploadService _s3Service;
|
||||||
private readonly ILoggingService _logger;
|
private readonly ILoggingService _logger;
|
||||||
private readonly PermissionServices _permissionServices;
|
private readonly PermissionServices _permissionServices;
|
||||||
|
private readonly CacheUpdateHelper _cache;
|
||||||
private readonly Guid Approve_Task;
|
private readonly Guid Approve_Task;
|
||||||
private readonly Guid Assign_Report_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;
|
_context = context;
|
||||||
_userHelper = userHelper;
|
_userHelper = userHelper;
|
||||||
_s3Service = s3Service;
|
_s3Service = s3Service;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_permissionServices = permissionServices;
|
_permissionServices = permissionServices;
|
||||||
|
_cache = cache;
|
||||||
Approve_Task = Guid.Parse("db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c");
|
Approve_Task = Guid.Parse("db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c");
|
||||||
Assign_Report_Task = Guid.Parse("6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2");
|
Assign_Report_Task = Guid.Parse("6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2");
|
||||||
}
|
}
|
||||||
@ -81,6 +84,8 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.TaskAllocations.Add(taskAllocation);
|
_context.TaskAllocations.Add(taskAllocation);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
await _cache.UpdatePlannedAndCompleteWorksInWorkItem(taskAllocation.WorkItemId, todaysAssigned: taskAllocation.PlannedTask);
|
||||||
|
|
||||||
_logger.LogInfo("Task {TaskId} assigned by Employee {EmployeeId}", taskAllocation.Id, employee.Id);
|
_logger.LogInfo("Task {TaskId} assigned by Employee {EmployeeId}", taskAllocation.Id, employee.Id);
|
||||||
|
|
||||||
var response = taskAllocation.ToAssignTaskVMFromTaskAllocation();
|
var response = taskAllocation.ToAssignTaskVMFromTaskAllocation();
|
||||||
@ -245,6 +250,10 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
await _context.SaveChangesAsync();
|
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 response = taskAllocation.ToReportTaskVMFromTaskAllocation();
|
||||||
var comments = await _context.TaskComments
|
var comments = await _context.TaskComments
|
||||||
@ -653,6 +662,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="approveTask">DTO containing task approval details.</param>
|
/// <param name="approveTask">DTO containing task approval details.</param>
|
||||||
/// <returns>IActionResult indicating success or failure.</returns>
|
/// <returns>IActionResult indicating success or failure.</returns>
|
||||||
|
|
||||||
[HttpPost("approve")]
|
[HttpPost("approve")]
|
||||||
public async Task<IActionResult> ApproveTask(ApproveTaskDto approveTask)
|
public async Task<IActionResult> ApproveTask(ApproveTaskDto approveTask)
|
||||||
{
|
{
|
||||||
|
@ -174,6 +174,17 @@ namespace Marco.Pms.Services.Helpers
|
|||||||
return null;
|
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 ---------------------------------------
|
// ------------------------------------ Employee Profile Cache ---------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user