diff --git a/Marco.Pms.Model/Mapper/ActivitiesMapper.cs b/Marco.Pms.Model/Mapper/ActivitiesMapper.cs index e5e42f9..9cb1592 100644 --- a/Marco.Pms.Model/Mapper/ActivitiesMapper.cs +++ b/Marco.Pms.Model/Mapper/ActivitiesMapper.cs @@ -106,8 +106,8 @@ namespace Marco.Pms.Model.Mapper AssignedBy = taskAllocation.Employee.ToBasicEmployeeVMFromEmployee(), WorkItemId = taskAllocation.WorkItemId, WorkItem = taskAllocation.WorkItem, - TenantId = taskAllocation.TenantId - + TenantId = taskAllocation.TenantId, + //CheckList = }; } public static CommentVM ToCommentVMFromTaskComment(this TaskComment comment) @@ -119,7 +119,7 @@ namespace Marco.Pms.Model.Mapper CommentDate = comment.CommentDate, Comment = comment.Comment, CommentedBy = comment.CommentedBy, - Employee = comment.Employee.ToEmployeeVMFromEmployee() + Employee = comment.Employee.ToBasicEmployeeVMFromEmployee() }; } diff --git a/Marco.Pms.Model/Mapper/EmployeeMapper.cs b/Marco.Pms.Model/Mapper/EmployeeMapper.cs index b4070a3..a2cd896 100644 --- a/Marco.Pms.Model/Mapper/EmployeeMapper.cs +++ b/Marco.Pms.Model/Mapper/EmployeeMapper.cs @@ -1,4 +1,5 @@ using Marco.Pms.Model.Employees; +using Marco.Pms.Model.ViewModels.Activities; using Marco.Pms.Model.ViewModels.Employee; namespace Marco.Pms.Model.Mapper @@ -31,5 +32,17 @@ namespace Marco.Pms.Model.Mapper 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 + }; + } } } diff --git a/Marco.Pms.Model/ViewModels/Activities/BasicEmployeeVM.cs b/Marco.Pms.Model/ViewModels/Activities/BasicEmployeeVM.cs new file mode 100644 index 0000000..2c62d70 --- /dev/null +++ b/Marco.Pms.Model/ViewModels/Activities/BasicEmployeeVM.cs @@ -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; } + } +} diff --git a/Marco.Pms.Model/ViewModels/Activities/CommentVM.cs b/Marco.Pms.Model/ViewModels/Activities/CommentVM.cs index 889180e..3b68ced 100644 --- a/Marco.Pms.Model/ViewModels/Activities/CommentVM.cs +++ b/Marco.Pms.Model/ViewModels/Activities/CommentVM.cs @@ -9,6 +9,6 @@ namespace Marco.Pms.Model.ViewModels.Activities public DateTime CommentDate { get; set; } public string? Comment { get; set; } public int CommentedBy { get; set; } - public EmployeeVM? Employee { get; set; } + public BasicEmployeeVM? Employee { get; set; } } } diff --git a/Marco.Pms.Model/ViewModels/Activities/ListTaskVM.cs b/Marco.Pms.Model/ViewModels/Activities/ListTaskVM.cs index b8d42c1..21d276c 100644 --- a/Marco.Pms.Model/ViewModels/Activities/ListTaskVM.cs +++ b/Marco.Pms.Model/ViewModels/Activities/ListTaskVM.cs @@ -9,11 +9,12 @@ namespace Marco.Pms.Model.ViewModels.Activities public DateTime AssignmentDate { get; set; } public double PlannedTask { get; set; } public double CompletedTask { get; set; } - public EmployeeVM? AssignedBy { get; set; } + public BasicEmployeeVM? AssignedBy { get; set; } public int WorkItemId { get; set; } public WorkItem? WorkItem { get; set; } public int TenantId { get; set; } - public List? teamMembers { get; set; } + public List? teamMembers { get; set; } public List? comments { get; set; } + public List? CheckList { get; set; } } } diff --git a/Marco.Pms.Services/Controllers/TaskController.cs b/Marco.Pms.Services/Controllers/TaskController.cs index c478b0c..bba199e 100644 --- a/Marco.Pms.Services/Controllers/TaskController.cs +++ b/Marco.Pms.Services/Controllers/TaskController.cs @@ -2,6 +2,7 @@ using Marco.Pms.Model.Activities; using Marco.Pms.Model.Dtos.Activities; using Marco.Pms.Model.Employees; +using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Mapper; using Marco.Pms.Model.Projects; using Marco.Pms.Model.Utilities; @@ -176,10 +177,17 @@ namespace MarcoBMS.Services.Controllers List 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(); + var activityIdList = workItems.Select(i => i.ActivityId).ToList(); List 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 teamMembers = await _context.TaskMembers.Where(t => taskIdList.Contains(t.TaskAllocationId)).Include(t => t.Employee).ToListAsync(); + + List teamMembers = await _context.TaskMembers.Where(t => taskIdList.Contains(t.TaskAllocationId)).ToListAsync(); + var employeeIdList = teamMembers.Select(e => e.EmployeeId).ToList(); + + + + List employees = await _context.Employees.Where(e => employeeIdList.Contains(e.Id)).Include(e => e.JobRole).ToListAsync(); List tasks = new List(); //foreach (var workItem in workItems) @@ -190,12 +198,15 @@ namespace MarcoBMS.Services.Controllers var response = taskAllocation.ToListTaskVMFromTaskAllocation(); List comments = await _context.TaskComments.Where(c => c.TaskAllocationId == taskAllocation.Id).ToListAsync(); - List team = new List(); - foreach (var taskMember in teamMembers) + List team = new List(); + List 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 = new List { }; @@ -203,8 +214,14 @@ namespace MarcoBMS.Services.Controllers { commentVM.Add(comment.ToCommentVMFromTaskComment()); } + List checkLists = await _context.ActivityCheckLists.Where(x => x.ActivityMasterId == taskAllocation.WorkItem.ActivityId).ToListAsync(); + ListcheckList = new List(); + foreach (var check in checkLists) { + checkList.Add(check.ToCheckListVMFromActivityCheckList(check.ActivityMasterId)); + } response.comments = commentVM; response.teamMembers = team; + response.CheckList = checkList; tasks.Add(response); } diff --git a/Marco.Pms.Services/appsettings.json b/Marco.Pms.Services/appsettings.json index 856f75c..c204963 100644 --- a/Marco.Pms.Services/appsettings.json +++ b/Marco.Pms.Services/appsettings.json @@ -64,8 +64,7 @@ "ConnectionStrings": { // "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=Ashutosh;Database=MarcoBMS2" + "DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2" //"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMS1" }, "AppSettings": {