diff --git a/Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs b/Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs index 277b059..dc11ccb 100644 --- a/Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs @@ -15,5 +15,6 @@ namespace Marco.Pms.Model.ViewModels.Projects public List? workAreas { get; set; } public List? workItems { get; set; } + public List? Tasks { get; set; } } } diff --git a/Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs b/Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs index f126d77..59db75d 100644 --- a/Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs @@ -5,6 +5,7 @@ namespace Marco.Pms.Model.ViewModels.Projects public class WorkItemVM { public Guid WorkItemId { get; set; } + public double TodaysAssigned { get; set; } public WorkItem? WorkItem { get; set; } } } diff --git a/Marco.Pms.Services/Controllers/ProjectController.cs b/Marco.Pms.Services/Controllers/ProjectController.cs index 3ac5a69..00ff1c2 100644 --- a/Marco.Pms.Services/Controllers/ProjectController.cs +++ b/Marco.Pms.Services/Controllers/ProjectController.cs @@ -1,5 +1,5 @@ -using System.Collections.Generic; -using Marco.Pms.DataAccess.Data; +using Marco.Pms.DataAccess.Data; +using Marco.Pms.Model.Activities; using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; @@ -162,17 +162,25 @@ namespace MarcoBMS.Services.Controllers foreach (WorkItem workItemDto in vm.workItems.Where(c => c.WorkAreaId == workAreaDto.Id).ToList()) { WorkItemVM workItemVM = new WorkItemVM() { WorkItemId = workItemDto.Id, WorkItem = workItemDto }; - //workItemVM.WorkItem.WorkArea = null + workItemVM.WorkItem.WorkArea = new WorkArea(); - //workItemVM.WorkItem.ActivityMaster.Tenant = null; + if (workItemVM.WorkItem.ActivityMaster != null) { workItemVM.WorkItem.ActivityMaster.Tenant = new Tenant(); } - //workItemVM.WorkItem.Tenant = null; workItemVM.WorkItem.Tenant = new Tenant(); - + double todaysAssigned = 0; + if (vm.Tasks != null) + { + var tasks = vm.Tasks.Where(t => t.WorkItemId == workItemDto.Id).ToList(); + foreach (TaskAllocation task in tasks) + { + todaysAssigned += task.PlannedTask; + } + } + workItemVM.TodaysAssigned = todaysAssigned; workAreaVM.WorkItems.Add(workItemVM); } @@ -211,13 +219,14 @@ namespace MarcoBMS.Services.Controllers idList = workAreas.Select(o => o.Id).ToList(); List workItems = await _context.WorkItems.Include(c => c.WorkCategoryMaster).Where(c => idList.Contains(c.WorkAreaId)).Include(c => c.ActivityMaster).ToListAsync(); // List workItems = _unitOfWork.WorkItem.GetAll(c => idList.Contains(c.WorkAreaId), includeProperties: "ActivityMaster").ToList(); - + idList = workItems.Select(t => t.Id).ToList(); + List tasks = await _context.TaskAllocations.Where(t => idList.Contains(t.WorkItemId) && t.AssignmentDate.Date == DateTime.UtcNow.Date).ToListAsync(); vm.project = project; vm.buildings = buildings; vm.floors = floors; vm.workAreas = workAreas; vm.workItems = workItems; - + vm.Tasks = tasks; return vm; } @@ -654,45 +663,5 @@ namespace MarcoBMS.Services.Controllers } - [HttpGet("assigned-projects/{employeeId}")] - public async Task GetProjectsByEmployee([FromRoute] Guid employeeId) - { - - Guid tenantId = _userHelper.GetTenantId(); - if (employeeId == Guid.Empty) - { - return BadRequest(ApiResponse.ErrorResponse("Invalid details.", "Employee id not valid.", 400)); - } - - List projectList = await _context.ProjectAllocations - .Where(c => c.TenantId == tenantId && c.EmployeeId == employeeId) - .Select(c => c.ProjectId).Distinct() - .ToListAsync(); - - if (!projectList.Any()) - { - return NotFound(ApiResponse.SuccessResponse(new List(), "No projects found.",404)); - } - - - List projectlist = await _context.Projects - .Where(p => projectList.Contains(p.Id)) - .ToListAsync(); - - List projects = new List(); - - - foreach (var project in projectlist) { - - projects.Add(project.ToProjectListVMFromProject()); - } - - - - return Ok(ApiResponse.SuccessResponse(projects, "Success.", 200)); - } - - - } } \ No newline at end of file