/// <summary> /// this method will fetch all the members of the project /// </summary> /// <param name="projectId"></param> /// <returns></returns> public async Task <List <EmployeeBasicDetailsDto> > GetProjectMembers(Guid projectId) { var projectMembersList = await _projectManagementRepository.GetProjectMembers(projectId); var projectMemberDetailsList = new List <EmployeeBasicDetailsDto>(); foreach (var projectMember in projectMembersList) { var projectMemberDetails = _mapper.Map <EmployeeBasicDetailsDto>(projectMember); projectMemberDetails.Id = projectMember.EmployeeId; if (projectMember.ProjectManager != null) { var projectManagerDetails = new GetEmployeeListDto { Id = (Guid)projectMember.ProjectManager, Name = await _employeeService.GetEmployeeNameById((Guid)projectMember.ProjectManager) }; projectMemberDetails.ProjectManagerDetails = projectManagerDetails; } if (projectMember.ProjectReportingManager != null) { var reportingManagerDetails = new GetEmployeeListDto { Id = (Guid)projectMember.ProjectReportingManager, Name = await _employeeService.GetEmployeeNameById((Guid)projectMember.ProjectReportingManager) }; projectMemberDetails.ReportingManagerDetails = reportingManagerDetails; } projectMemberDetails.Name = await _employeeService.GetEmployeeNameById(projectMember.EmployeeId); var employeeDetails = await _employeeRepository.GetEmployeeInformationAsync(projectMember.EmployeeId); if (employeeDetails != null) { projectMemberDetails.CompanyId = employeeDetails.CompanyId; var department = await _departmentDesignationService.GetDepartment(employeeDetails.DepartmentDesignationId); if (department != null) { projectMemberDetails.Department = department.Name; } var designation = await _departmentDesignationService.GetDesignation(employeeDetails.DepartmentDesignationId); if (designation != null) { projectMemberDetails.Designation = designation.Title; } } projectMemberDetailsList.Add(projectMemberDetails); } return(projectMemberDetailsList); }
/// <summary> /// this method is used to fetch list all project /// </summary> /// <returns></returns> public async Task <List <GetProjectsDetailsDto> > GetProjectList() { var projectDetailsList = await _projectRepository.GetListOfProjectAsync(); var listOfProject = new List <GetProjectsDetailsDto>(); foreach (var p in projectDetailsList) { var listOfManager = new List <GetEmployeeListDto>(); var projectDetail = _mapper.Map <GetProjectsDetailsDto>(p); var projectMembers = await _projectManagementRepository.GetProjectMembers(p.Id); projectDetail.ProjectMembersCount = projectMembers.Count(); listOfProject.Add(projectDetail); } return(listOfProject); }