Changed the Task list View model

This commit is contained in:
ashutosh.nehete 2025-04-14 17:26:35 +05:30
parent 9b1a1d1fe7
commit dbc1b721c1
7 changed files with 57 additions and 13 deletions

View File

@ -106,8 +106,8 @@ namespace Marco.Pms.Model.Mapper
AssignedBy = taskAllocation.Employee.ToBasicEmployeeVMFromEmployee(), AssignedBy = taskAllocation.Employee.ToBasicEmployeeVMFromEmployee(),
WorkItemId = taskAllocation.WorkItemId, WorkItemId = taskAllocation.WorkItemId,
WorkItem = taskAllocation.WorkItem, WorkItem = taskAllocation.WorkItem,
TenantId = taskAllocation.TenantId TenantId = taskAllocation.TenantId,
//CheckList =
}; };
} }
public static CommentVM ToCommentVMFromTaskComment(this TaskComment comment) public static CommentVM ToCommentVMFromTaskComment(this TaskComment comment)
@ -119,7 +119,7 @@ namespace Marco.Pms.Model.Mapper
CommentDate = comment.CommentDate, CommentDate = comment.CommentDate,
Comment = comment.Comment, Comment = comment.Comment,
CommentedBy = comment.CommentedBy, CommentedBy = comment.CommentedBy,
Employee = comment.Employee.ToEmployeeVMFromEmployee() Employee = comment.Employee.ToBasicEmployeeVMFromEmployee()
}; };
} }

View File

@ -1,4 +1,5 @@
using Marco.Pms.Model.Employees; using Marco.Pms.Model.Employees;
using Marco.Pms.Model.ViewModels.Activities;
using Marco.Pms.Model.ViewModels.Employee; using Marco.Pms.Model.ViewModels.Employee;
namespace Marco.Pms.Model.Mapper namespace Marco.Pms.Model.Mapper
@ -31,5 +32,17 @@ namespace Marco.Pms.Model.Mapper
JoiningDate = model.JoiningDate JoiningDate = model.JoiningDate
}; };
} }
public static BasicEmployeeVM ToBasicEmployeeVMFromEmployee(this Employee employee)
{
return new BasicEmployeeVM
{
Id = employee.Id,
FirstName = employee.FirstName,
LastName = employee.LastName,
Photo = employee.Photo,
JobRoleId = employee.JobRoleId,
JobRoleName = employee.JobRole.Name
};
}
} }
} }

View File

@ -0,0 +1,14 @@
using System;
namespace Marco.Pms.Model.ViewModels.Activities
{
public class BasicEmployeeVM
{
public int Id { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public byte[]? Photo { get; set; }
public int? JobRoleId { get; set; }
public string? JobRoleName { get; set; }
}
}

View File

@ -9,6 +9,6 @@ namespace Marco.Pms.Model.ViewModels.Activities
public DateTime CommentDate { get; set; } public DateTime CommentDate { get; set; }
public string? Comment { get; set; } public string? Comment { get; set; }
public int CommentedBy { get; set; } public int CommentedBy { get; set; }
public EmployeeVM? Employee { get; set; } public BasicEmployeeVM? Employee { get; set; }
} }
} }

View File

@ -9,11 +9,12 @@ namespace Marco.Pms.Model.ViewModels.Activities
public DateTime AssignmentDate { get; set; } public DateTime AssignmentDate { get; set; }
public double PlannedTask { get; set; } public double PlannedTask { get; set; }
public double CompletedTask { get; set; } public double CompletedTask { get; set; }
public EmployeeVM? AssignedBy { get; set; } public BasicEmployeeVM? AssignedBy { get; set; }
public int WorkItemId { get; set; } public int WorkItemId { get; set; }
public WorkItem? WorkItem { get; set; } public WorkItem? WorkItem { get; set; }
public int TenantId { get; set; } public int TenantId { get; set; }
public List<EmployeeVM>? teamMembers { get; set; } public List<BasicEmployeeVM>? teamMembers { get; set; }
public List<CommentVM>? comments { get; set; } public List<CommentVM>? comments { get; set; }
public List<CheckListVM>? CheckList { get; set; }
} }
} }

View File

@ -2,6 +2,7 @@
using Marco.Pms.Model.Activities; using Marco.Pms.Model.Activities;
using Marco.Pms.Model.Dtos.Activities; using Marco.Pms.Model.Dtos.Activities;
using Marco.Pms.Model.Employees; using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Entitlements;
using Marco.Pms.Model.Mapper; using Marco.Pms.Model.Mapper;
using Marco.Pms.Model.Projects; using Marco.Pms.Model.Projects;
using Marco.Pms.Model.Utilities; using Marco.Pms.Model.Utilities;
@ -176,10 +177,17 @@ namespace MarcoBMS.Services.Controllers
List<WorkItem> workItems = await _context.WorkItems.Where(i => idList.Contains(i.WorkAreaId) && i.TenantId == tenantId).Include(i => i.ActivityMaster).ToListAsync(); 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(); idList = workItems.Select(i => i.Id).ToList();
var activityIdList = workItems.Select(i => i.ActivityId).ToList();
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(); 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(); 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();
List<TaskMembers> teamMembers = await _context.TaskMembers.Where(t => taskIdList.Contains(t.TaskAllocationId)).ToListAsync();
var employeeIdList = teamMembers.Select(e => e.EmployeeId).ToList();
List<Employee> employees = await _context.Employees.Where(e => employeeIdList.Contains(e.Id)).Include(e => e.JobRole).ToListAsync();
List<ListTaskVM> tasks = new List<ListTaskVM>(); List<ListTaskVM> tasks = new List<ListTaskVM>();
//foreach (var workItem in workItems) //foreach (var workItem in workItems)
@ -190,12 +198,15 @@ namespace MarcoBMS.Services.Controllers
var response = taskAllocation.ToListTaskVMFromTaskAllocation(); var response = taskAllocation.ToListTaskVMFromTaskAllocation();
List<TaskComment> comments = await _context.TaskComments.Where(c => c.TaskAllocationId == taskAllocation.Id).ToListAsync(); List<TaskComment> comments = await _context.TaskComments.Where(c => c.TaskAllocationId == taskAllocation.Id).ToListAsync();
List<EmployeeVM> team = new List<EmployeeVM>(); List<BasicEmployeeVM> team = new List<BasicEmployeeVM>();
foreach (var taskMember in teamMembers) List<TaskMembers> taskMembers = teamMembers.Where(m => m.TaskAllocationId == taskAllocation.Id).ToList();
foreach (var taskMember in taskMembers)
{ {
if(taskMember != null) var teamMember = employees.Find(e => e.Id == taskMember.EmployeeId);
if(teamMember != null)
{ {
team.Add(taskMember.Employee.ToEmployeeVMFromEmployee()); team.Add(teamMember.ToBasicEmployeeVMFromEmployee());
} }
} }
List<CommentVM> commentVM = new List<CommentVM> { }; List<CommentVM> commentVM = new List<CommentVM> { };
@ -203,8 +214,14 @@ namespace MarcoBMS.Services.Controllers
{ {
commentVM.Add(comment.ToCommentVMFromTaskComment()); commentVM.Add(comment.ToCommentVMFromTaskComment());
} }
List<ActivityCheckList> checkLists = await _context.ActivityCheckLists.Where(x => x.ActivityMasterId == taskAllocation.WorkItem.ActivityId).ToListAsync();
List<CheckListVM>checkList = new List<CheckListVM>();
foreach (var check in checkLists) {
checkList.Add(check.ToCheckListVMFromActivityCheckList(check.ActivityMasterId));
}
response.comments = commentVM; response.comments = commentVM;
response.teamMembers = team; response.teamMembers = team;
response.CheckList = checkList;
tasks.Add(response); tasks.Add(response);
} }

View File

@ -64,8 +64,7 @@
"ConnectionStrings": { "ConnectionStrings": {
// "DefaultConnectionString": "Server=103.50.160.45;User ID=marcowvh_admin;Password=Marcoemp@123;Database=marcowvh_empattendanceci", // "DefaultConnectionString": "Server=103.50.160.45;User ID=marcowvh_admin;Password=Marcoemp@123;Database=marcowvh_empattendanceci",
//"DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2" "DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2"
"DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=Ashutosh;Database=MarcoBMS2"
//"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMS1" //"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMS1"
}, },
"AppSettings": { "AppSettings": {