Merge branch 'Ashutosh_Enhancement#276_TodaysPlanned' into Issue_Jun_1W
# Conflicts: # Marco.Pms.Services/Controllers/ProjectController.cs
This commit is contained in:
commit
2e9459444f
@ -15,5 +15,6 @@ namespace Marco.Pms.Model.ViewModels.Projects
|
|||||||
|
|
||||||
public List<WorkArea>? workAreas { get; set; }
|
public List<WorkArea>? workAreas { get; set; }
|
||||||
public List<WorkItem>? workItems { get; set; }
|
public List<WorkItem>? workItems { get; set; }
|
||||||
|
public List<TaskAllocation>? Tasks { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ namespace Marco.Pms.Model.ViewModels.Projects
|
|||||||
public class WorkItemVM
|
public class WorkItemVM
|
||||||
{
|
{
|
||||||
public Guid WorkItemId { get; set; }
|
public Guid WorkItemId { get; set; }
|
||||||
|
public double TodaysAssigned { get; set; }
|
||||||
public WorkItem? WorkItem { get; set; }
|
public WorkItem? WorkItem { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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.Dtos.Project;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Entitlements;
|
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())
|
foreach (WorkItem workItemDto in vm.workItems.Where(c => c.WorkAreaId == workAreaDto.Id).ToList())
|
||||||
{
|
{
|
||||||
WorkItemVM workItemVM = new WorkItemVM() { WorkItemId = workItemDto.Id, WorkItem = workItemDto };
|
WorkItemVM workItemVM = new WorkItemVM() { WorkItemId = workItemDto.Id, WorkItem = workItemDto };
|
||||||
//workItemVM.WorkItem.WorkArea = null
|
|
||||||
workItemVM.WorkItem.WorkArea = new WorkArea();
|
workItemVM.WorkItem.WorkArea = new WorkArea();
|
||||||
//workItemVM.WorkItem.ActivityMaster.Tenant = null;
|
|
||||||
if (workItemVM.WorkItem.ActivityMaster != null)
|
if (workItemVM.WorkItem.ActivityMaster != null)
|
||||||
{
|
{
|
||||||
workItemVM.WorkItem.ActivityMaster.Tenant = new Tenant();
|
workItemVM.WorkItem.ActivityMaster.Tenant = new Tenant();
|
||||||
}
|
}
|
||||||
//workItemVM.WorkItem.Tenant = null;
|
|
||||||
workItemVM.WorkItem.Tenant = new Tenant();
|
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);
|
workAreaVM.WorkItems.Add(workItemVM);
|
||||||
}
|
}
|
||||||
@ -211,13 +219,14 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
idList = workAreas.Select(o => o.Id).ToList();
|
idList = workAreas.Select(o => o.Id).ToList();
|
||||||
List<WorkItem> workItems = await _context.WorkItems.Include(c => c.WorkCategoryMaster).Where(c => idList.Contains(c.WorkAreaId)).Include(c => c.ActivityMaster).ToListAsync();
|
List<WorkItem> workItems = await _context.WorkItems.Include(c => c.WorkCategoryMaster).Where(c => idList.Contains(c.WorkAreaId)).Include(c => c.ActivityMaster).ToListAsync();
|
||||||
// List <WorkItem> workItems = _unitOfWork.WorkItem.GetAll(c => idList.Contains(c.WorkAreaId), includeProperties: "ActivityMaster").ToList();
|
// List <WorkItem> workItems = _unitOfWork.WorkItem.GetAll(c => idList.Contains(c.WorkAreaId), includeProperties: "ActivityMaster").ToList();
|
||||||
|
idList = workItems.Select(t => t.Id).ToList();
|
||||||
|
List<TaskAllocation> tasks = await _context.TaskAllocations.Where(t => idList.Contains(t.WorkItemId) && t.AssignmentDate.Date == DateTime.UtcNow.Date).ToListAsync();
|
||||||
vm.project = project;
|
vm.project = project;
|
||||||
vm.buildings = buildings;
|
vm.buildings = buildings;
|
||||||
vm.floors = floors;
|
vm.floors = floors;
|
||||||
vm.workAreas = workAreas;
|
vm.workAreas = workAreas;
|
||||||
vm.workItems = workItems;
|
vm.workItems = workItems;
|
||||||
|
vm.Tasks = tasks;
|
||||||
return vm;
|
return vm;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,45 +663,5 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("assigned-projects/{employeeId}")]
|
|
||||||
public async Task<IActionResult> GetProjectsByEmployee([FromRoute] Guid employeeId)
|
|
||||||
{
|
|
||||||
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
if (employeeId == Guid.Empty)
|
|
||||||
{
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid details.", "Employee id not valid.", 400));
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Guid> projectList = await _context.ProjectAllocations
|
|
||||||
.Where(c => c.TenantId == tenantId && c.EmployeeId == employeeId)
|
|
||||||
.Select(c => c.ProjectId).Distinct()
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
if (!projectList.Any())
|
|
||||||
{
|
|
||||||
return NotFound(ApiResponse<object>.SuccessResponse(new List<object>(), "No projects found.",404));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
List<Project> projectlist = await _context.Projects
|
|
||||||
.Where(p => projectList.Contains(p.Id))
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
List<ProjectListVM> projects = new List<ProjectListVM>();
|
|
||||||
|
|
||||||
|
|
||||||
foreach (var project in projectlist) {
|
|
||||||
|
|
||||||
projects.Add(project.ToProjectListVMFromProject());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(projects, "Success.", 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user