In dashboard project Progress show from first task assigned if give date is older than first assign date

This commit is contained in:
ashutosh.nehete 2025-04-14 15:58:14 +05:30
parent 832555d2b2
commit be0c37588e
4 changed files with 56 additions and 47 deletions

View File

@ -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
{

View File

@ -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,6 +59,8 @@ namespace Marco.Pms.Services.Controllers
ProjectProgressionVM.ProjectId = projectId;
ProjectProgressionVM.ProjectName = "";
var date = fromDate.AddDays(flagDays);
if (date >= firstTask.AssignmentDate.Date)
{
var todayTasks = tasks.Where(t => t.AssignmentDate.Date == date.Date).ToList();
double plannedTaks = 0;
double completedTasks = 0;
@ -67,6 +75,7 @@ namespace Marco.Pms.Services.Controllers
ProjectProgressionVM.CompletedTask = completedTasks;
projectProgressionVMs.Add(ProjectProgressionVM);
}
flagDays -= 1;
}
}
@ -95,6 +104,8 @@ namespace Marco.Pms.Services.Controllers
projectProgressionVM.ProjectId = projectId;
projectProgressionVM.ProjectName = project.Name;
var date = fromDate.AddDays(flagDays);
if (date >= firstTask.AssignmentDate.Date)
{
var todayTasks = tasks.Where(t => t.AssignmentDate.Date == date.Date).ToList();
double plannedTaks = 0;
double completedTasks = 0;
@ -109,6 +120,8 @@ namespace Marco.Pms.Services.Controllers
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
{

View File

@ -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();
@ -192,9 +192,12 @@ namespace MarcoBMS.Services.Controllers
List<TaskComment> comments = await _context.TaskComments.Where(c => c.TaskAllocationId == taskAllocation.Id).ToListAsync();
List<EmployeeVM> team = new List<EmployeeVM>();
foreach (var taskMember in teamMembers)
{
if(taskMember != null)
{
team.Add(taskMember.Employee.ToEmployeeVMFromEmployee());
}
}
List<CommentVM> commentVM = new List<CommentVM> { };
foreach (var comment in comments)
{

View File

@ -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.