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<WorkItem>? workItems { get; set; }
|
||||
public List<TaskAllocation>? Tasks { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -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; }
|
||||
}
|
||||
}
|
||||
|
@ -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<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();
|
||||
|
||||
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.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<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