In dashboard project Progress show from first task assigned if give date is older than first assign date
This commit is contained in:
parent
832555d2b2
commit
be0c37588e
@ -1,11 +1,6 @@
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
|
||||
namespace Marco.Pms.Model.Entitlements
|
||||
{
|
||||
|
@ -34,14 +34,20 @@ namespace Marco.Pms.Services.Controllers
|
||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid starting date.", "Invalid starting date.", 400));
|
||||
|
||||
}
|
||||
if (projectId == null) { projectId = 0; }
|
||||
|
||||
var firstTask = await _context.TaskAllocations.Select(t => new {t.TenantId,t.AssignmentDate}).FirstOrDefaultAsync(t => t.TenantId == tenantId);
|
||||
if (FromDate == null) fromDate = DateTime.UtcNow.Date;
|
||||
|
||||
|
||||
|
||||
if (days >= 0)
|
||||
{
|
||||
double negativeDays = 0 - days;
|
||||
toDate = fromDate.AddDays(negativeDays);
|
||||
|
||||
if (firstTask.AssignmentDate.Date >= toDate.Date)
|
||||
{
|
||||
toDate = firstTask.AssignmentDate;
|
||||
}
|
||||
if (projectId == 0)
|
||||
{
|
||||
List<TaskAllocation> tasks = await _context.TaskAllocations.Where(t => t.AssignmentDate.Date <= fromDate.Date && t.AssignmentDate.Date >= toDate.Date && t.TenantId == tenantId).ToListAsync();
|
||||
@ -53,20 +59,23 @@ namespace Marco.Pms.Services.Controllers
|
||||
ProjectProgressionVM.ProjectId = projectId;
|
||||
ProjectProgressionVM.ProjectName = "";
|
||||
var date = fromDate.AddDays(flagDays);
|
||||
var todayTasks = tasks.Where(t => t.AssignmentDate.Date == date.Date).ToList();
|
||||
double plannedTaks = 0;
|
||||
double completedTasks = 0;
|
||||
ProjectProgressionVM.Date = date;
|
||||
|
||||
foreach (var task in todayTasks)
|
||||
if (date >= firstTask.AssignmentDate.Date)
|
||||
{
|
||||
plannedTaks += task.PlannedTask;
|
||||
completedTasks += task.CompletedTask;
|
||||
}
|
||||
ProjectProgressionVM.PlannedTask = plannedTaks;
|
||||
ProjectProgressionVM.CompletedTask = completedTasks;
|
||||
var todayTasks = tasks.Where(t => t.AssignmentDate.Date == date.Date).ToList();
|
||||
double plannedTaks = 0;
|
||||
double completedTasks = 0;
|
||||
ProjectProgressionVM.Date = date;
|
||||
|
||||
projectProgressionVMs.Add(ProjectProgressionVM);
|
||||
foreach (var task in todayTasks)
|
||||
{
|
||||
plannedTaks += task.PlannedTask;
|
||||
completedTasks += task.CompletedTask;
|
||||
}
|
||||
ProjectProgressionVM.PlannedTask = plannedTaks;
|
||||
ProjectProgressionVM.CompletedTask = completedTasks;
|
||||
|
||||
projectProgressionVMs.Add(ProjectProgressionVM);
|
||||
}
|
||||
flagDays -= 1;
|
||||
}
|
||||
}
|
||||
@ -95,20 +104,24 @@ namespace Marco.Pms.Services.Controllers
|
||||
projectProgressionVM.ProjectId = projectId;
|
||||
projectProgressionVM.ProjectName = project.Name;
|
||||
var date = fromDate.AddDays(flagDays);
|
||||
var todayTasks = tasks.Where(t => t.AssignmentDate.Date == date.Date).ToList();
|
||||
double plannedTaks = 0;
|
||||
double completedTasks = 0;
|
||||
projectProgressionVM.Date = date;
|
||||
|
||||
foreach (var task in todayTasks)
|
||||
if (date >= firstTask.AssignmentDate.Date)
|
||||
{
|
||||
plannedTaks += task.PlannedTask;
|
||||
completedTasks += task.CompletedTask;
|
||||
}
|
||||
projectProgressionVM.PlannedTask = plannedTaks;
|
||||
projectProgressionVM.CompletedTask = completedTasks;
|
||||
var todayTasks = tasks.Where(t => t.AssignmentDate.Date == date.Date).ToList();
|
||||
double plannedTaks = 0;
|
||||
double completedTasks = 0;
|
||||
projectProgressionVM.Date = date;
|
||||
|
||||
projectProgressionVMs.Add(projectProgressionVM);
|
||||
foreach (var task in todayTasks)
|
||||
{
|
||||
plannedTaks += task.PlannedTask;
|
||||
completedTasks += task.CompletedTask;
|
||||
}
|
||||
projectProgressionVM.PlannedTask = plannedTaks;
|
||||
projectProgressionVM.CompletedTask = completedTasks;
|
||||
|
||||
projectProgressionVMs.Add(projectProgressionVM);
|
||||
}
|
||||
|
||||
flagDays -= 1;
|
||||
}
|
||||
}
|
||||
@ -122,8 +135,8 @@ namespace Marco.Pms.Services.Controllers
|
||||
{
|
||||
var tenantId = _userHelper.GetTenantId();
|
||||
|
||||
var projects = await _context.Projects.Where(p => p.TenantId == tenantId && p.ProjectStatusId != 4).ToListAsync();
|
||||
var ongoingProjects = projects.Where(p => p.ProjectStatusId == 1).ToList();
|
||||
var projects = await _context.Projects.Where(p => p.TenantId == tenantId).ToListAsync();
|
||||
var ongoingProjects = projects.Where(p => p.ProjectStatusId == 1 || p.ProjectStatusId == 2).ToList();
|
||||
|
||||
ProjectDashboardVM projectDashboardVM = new ProjectDashboardVM
|
||||
{
|
||||
|
@ -177,7 +177,7 @@ namespace MarcoBMS.Services.Controllers
|
||||
List<WorkItem> workItems = await _context.WorkItems.Where(i => idList.Contains(i.WorkAreaId) && i.TenantId == tenantId).Include(i => i.ActivityMaster).ToListAsync();
|
||||
idList = workItems.Select(i => i.Id).ToList();
|
||||
|
||||
List<TaskAllocation> taskAllocations = await _context.TaskAllocations.Where(t => idList.Contains(t.WorkItemId) && t.AssignmentDate >= fromDate && t.AssignmentDate <= toDate && t.TenantId == tenantId).Include(t => t.WorkItem).Include(t=>t.Employee).ToListAsync();
|
||||
List<TaskAllocation> taskAllocations = await _context.TaskAllocations.Where(t => idList.Contains(t.WorkItemId) && t.AssignmentDate.Date >= fromDate.Date && t.AssignmentDate.Date <= toDate.Date && t.TenantId == tenantId).Include(t => t.WorkItem).Include(t=>t.Employee).ToListAsync();
|
||||
var taskIdList = taskAllocations.Select(t => t.Id).ToList();
|
||||
List<TaskMembers> teamMembers = await _context.TaskMembers.Where(t => taskIdList.Contains(t.TaskAllocationId)).Include(t => t.Employee).ToListAsync();
|
||||
|
||||
@ -193,7 +193,10 @@ namespace MarcoBMS.Services.Controllers
|
||||
List<EmployeeVM> team = new List<EmployeeVM>();
|
||||
foreach (var taskMember in teamMembers)
|
||||
{
|
||||
team.Add(taskMember.Employee.ToEmployeeVMFromEmployee());
|
||||
if(taskMember != null)
|
||||
{
|
||||
team.Add(taskMember.Employee.ToEmployeeVMFromEmployee());
|
||||
}
|
||||
}
|
||||
List<CommentVM> commentVM = new List<CommentVM> { };
|
||||
foreach (var comment in comments)
|
||||
|
@ -24,16 +24,6 @@ builder.Host.UseSerilog((context, config) =>
|
||||
;
|
||||
|
||||
// Add services
|
||||
//builder.Services.AddCors(options =>
|
||||
//{
|
||||
// options.AddPolicy("DevCorsPolicy", policy =>
|
||||
// {
|
||||
// policy.AllowAnyOrigin()
|
||||
// .AllowAnyMethod()
|
||||
// .AllowAnyHeader();
|
||||
// });
|
||||
//});
|
||||
|
||||
var corsSettings = builder.Configuration.GetSection("Cors");
|
||||
var allowedOrigins = corsSettings.GetValue<string>("AllowedOrigins")?.Split(',');
|
||||
var allowedMethods = corsSettings.GetValue<string>("AllowedMethods")?.Split(',');
|
||||
@ -50,6 +40,14 @@ builder.Services.AddCors(options =>
|
||||
.WithHeaders(allowedHeaders);
|
||||
}
|
||||
});
|
||||
}).AddCors(options =>
|
||||
{
|
||||
options.AddPolicy("DevCorsPolicy", policy =>
|
||||
{
|
||||
policy.AllowAnyOrigin()
|
||||
.AllowAnyMethod()
|
||||
.AllowAnyHeader();
|
||||
});
|
||||
});
|
||||
|
||||
// Add services to the container.
|
||||
|
Loading…
x
Reference in New Issue
Block a user