public void SaveKRAItems(int EmployeeId, List <int> Items) { var Header = new EmployeeAssignment(); var headerItem = this.EmployeeAssignmentByEmployeeId(EmployeeId); if (headerItem != null) { Header = headerItem; _dbContext.Entry(Header).State = EntityState.Modified; } else { Header.Id = 0; Header.Employee = EmployeeById(EmployeeId); _dbContext.Add(Header); } foreach (var item in Items) { var lineItem = new EmployeeKRAAssignment { EmployeeAssignment = Header, KeyResultArea = KeyResultAreaById(item), IsDeleted = false, EvaluationSeason = ActiveSeason() }; _dbContext.Add(lineItem); } _dbContext.SaveChanges(); }
public JsonResult showAssignmentstatus([FromBody] AssignmentShowModel model) { model.Month++; List <AssignmentStatus> data = EmployeeAssignment.GetProjectsAndAssignmentsInfo(model); return(Json(data)); }
public async Task <EmployeeAssignmentResponse> UpdateAsync(int id, EmployeeAssignment employeeAssignment) { var existingEmployeeAssignment = await _employeeAssignmentRepository.FindByIdAsync(id); if (existingEmployeeAssignment == null) { return(new EmployeeAssignmentResponse("EmployeeAssignment not found.")); } existingEmployeeAssignment.StartDate = employeeAssignment.StartDate != existingEmployeeAssignment.StartDate && employeeAssignment.StartDate != default(DateTime) ? employeeAssignment.StartDate : existingEmployeeAssignment.StartDate; existingEmployeeAssignment.EndDate = employeeAssignment.EndDate != existingEmployeeAssignment.EndDate && employeeAssignment.EndDate != default(DateTime) ? employeeAssignment.EndDate : existingEmployeeAssignment.EndDate; existingEmployeeAssignment.FTEPerWeek = employeeAssignment.FTEPerWeek != existingEmployeeAssignment.FTEPerWeek && employeeAssignment.FTEPerWeek != default(Double) ? employeeAssignment.FTEPerWeek : existingEmployeeAssignment.FTEPerWeek; try { _employeeAssignmentRepository.Update(existingEmployeeAssignment); await _unitOfWork.CompleteAsync(); return(new EmployeeAssignmentResponse(existingEmployeeAssignment)); } catch (Exception ex) { return(new EmployeeAssignmentResponse($"An error occurred when updating the category: {ex.Message}")); } }
public IActionResult Get() { HashSet <MiddleLevelPage> middleLevelPageSet = new HashSet <MiddleLevelPage>(); List <MiddleLevelPage> middleLevelPageList = new List <MiddleLevelPage>(); DateTime currentDate = DateTime.Now; int startMonth = currentDate.Month; int startYear = currentDate.Year; foreach (Project project in _projectRepository.GetAll()) { System.Diagnostics.Debug.Write("PHASE REPO SIZE: " + _phaseRepository.GetAll().Where(p => p.ProjectId == project.ProjectId).ToList().Count); foreach (Phase phase in _phaseRepository.GetAll().Where(p => p.ProjectId == project.ProjectId)) { foreach (Employee emp in _employeeRepository.GetAll()) { MiddleLevelPage middleLevelPage = new MiddleLevelPage(); //this actually represents one json object in the middlelevelpage json array, and not the entire page middleLevelPage.empID = emp.EmployeeId; middleLevelPage.projectID = project.ProjectId; middleLevelPage.empName = emp.Name; middleLevelPage.projectCompletion = project.PercentageComplete; middleLevelPage.projectEndDate = project.ProjectEndDate; middleLevelPage.projectName = project.ProjectName; EmployeeAssignment ea = _employeeAssignmentRepository.Get(phase.PhaseId, emp.EmployeeId); //If ea is null, then it means the Employee is not working in that Phase for that Project, so there is no workload data for that Employee if (ea != null) { for (int k = 0; k < 6; k++) { int currentMonth = DateTime.Now.AddMonths(k).Month; int currentYear = DateTime.Now.AddMonths(k).Year; ProjectedWorkload currentProjectedWorkload = _workloadRepository.Get(project.ProjectId, emp.EmployeeId, currentMonth, currentYear); /*If currentProjectedWorkload is null, it means that the Employee doesn't have a workload row for the month. Thus, we create the workload data * and set the hours worked to 0. This happens when a new month arrives, since each Employee only has workload data for the first 6 months * starting from when it is added. */ if (currentProjectedWorkload == null) { ProjectedWorkload newMonthWorkload = new ProjectedWorkload(project.ProjectId, emp.EmployeeId, currentMonth, currentYear, 0); _workloadRepository.Add(newMonthWorkload); currentProjectedWorkload = _workloadRepository.Get(project.ProjectId, emp.EmployeeId, currentMonth, currentYear); } middleLevelPage.SetMonthlyHoursWorked(k + 1, currentProjectedWorkload.Hours); } middleLevelPageSet.Add(middleLevelPage); } } } } return(Ok(middleLevelPageSet.ToList())); }
public async Task <EmployeeAssignmentResponse> SaveAsync(EmployeeAssignment employeeAssignment) { try { await _employeeAssignmentRepository.AddAsync(employeeAssignment); await _unitOfWork.CompleteAsync(); return(new EmployeeAssignmentResponse(employeeAssignment)); } catch (Exception ex) { return(new EmployeeAssignmentResponse($"An error occurred when saving the employee: {ex.Message}")); } }
public void Update(EmployeeAssignment employeeAssignment) { _context.EmployeeAssignments.Update(employeeAssignment); }
public void Remove(EmployeeAssignment employeeAssignment) { _context.EmployeeAssignments.Remove(employeeAssignment); }
public async Task AddAsync(EmployeeAssignment employeeAssignment) { await _context.EmployeeAssignments.AddAsync(employeeAssignment); }
public EmployeeAssignmentResponse(EmployeeAssignment employeeAssignment) : this(true, string.Empty, employeeAssignment) { }
private EmployeeAssignmentResponse(bool success, string message, EmployeeAssignment employeeAssignment) : base(success, message) { EmployeeAssignment = EmployeeAssignment; }
public IActionResult Post(IndividualProjectPage page) { Project project = new Project(page.ID, page.Name, page.desc, page.startDate, page.endDate, page.completion, page.salaryBudget, page.totalInvoice, page.materialBudget, page.spendToDate, page.progressSurveySent, page.progressSurveyResult, page.followupSurveySent, page.followupSurveyResult, page.isProposal, page.costMultiplier, page.isUnderISO13485, page.businessCode, page.lead[0].name); // <-- in the param _projectRepository.Add(project); for (int i = 0; i < page.phaseArr.Count; i++) { PhaseArr currentPhaseArr = page.phaseArr[i]; Phase phase = new Phase(currentPhaseArr.phaseID, page.ID, currentPhaseArr.name, currentPhaseArr.startDate, currentPhaseArr.endDate, currentPhaseArr.isRecordDone, currentPhaseArr.predictedDurationInWeeks, currentPhaseArr.actualDurationInWeeks, currentPhaseArr.impact, 0, 0, null); phase.MaterialProjectedBudget = page.material[i].projectedBudget; phase.MaterialActualBudget = page.material[i].actualBudget; phase.MaterialImpact = page.material[i].impact; _phaseRepository.Add(phase); } EmployeeAssignment ea = new EmployeeAssignment(); for (int i = 0; i < page.employeeSalaryList.Count; i++) { ea.EmployeeId = page.employeeSalaryList[i].empID; ea.Position = "somePosition"; //hardcoded for now? ea.SalaryMultiplier = page.costMultiplier; for (int j = 0; j < page.employeeSalaryList[i].phaseDetailsList.Count; j++) { PhaseDetails currentPhaseDetails = page.employeeSalaryList[i].phaseDetailsList[j]; ea.PhaseId = currentPhaseDetails.phaseID; ea.ActualHours = currentPhaseDetails.actualHr; ea.ProjectedHours = currentPhaseDetails.budgetHr; ea.Impact = currentPhaseDetails.impact; for (int z = 0; z < page.lead.Count; z++) { if (ea.EmployeeId == page.lead[z].empID) { ea.IsProjectManager = true; } else { ea.IsProjectManager = false; } } _employeeAssignmentRepository.Add(ea); } } ProjectedWorkload pw = new ProjectedWorkload(); for (int i = 0; i < page.workloadArr.Count; i++) { WorkloadArr currentWorkloadArr = page.workloadArr[i]; foreach (Employee e in _employeeRepository.GetAll()) { if (e.EmployeeId == currentWorkloadArr.empID) { pw.ProjectId = page.ID; pw.EmployeeId = e.EmployeeId; for (int k = 0; k < 6; k++) { pw.Month = DateTime.Now.AddMonths(k).Month; pw.Year = DateTime.Now.AddMonths(k).Year; //pw.Month = ControllerHelper.CalculateCurrentMonth(currentMonth, k-1); pw.Hours = currentWorkloadArr.getHoursWorked(k + 1); _projectedWorkloadRepository.Add(pw); } } } } foreach (InvoiceArr i in page.invoiceArr) { Invoice invoice = new Invoice(page.ID, "placeholdername", i.date, i.amount); _invoiceRepository.Add(invoice); } return(new OkObjectResult(201)); }
/// <summary> /// Create or edit employee /// </summary> /// <param name="request"></param> /// <returns></returns> public EmployeeResponse CreateOrEdit(EmployeeRequest request) { EmployeeResponse response = new EmployeeResponse(); var _empTypeDesc = _unitOfWork.FamilyRelationshipRepository.GetFirstOrDefault(x => x.ID == request.Data.EmpType) == null ? "" : _unitOfWork.FamilyRelationshipRepository.GetFirstOrDefault(x => x.ID == request.Data.EmpType).Code; var _statusDesc = _unitOfWork.EmployeeStatusRepository.GetFirstOrDefault(x => x.ID == request.Data.EmpStatus) == null ? "" : _unitOfWork.EmployeeStatusRepository.GetFirstOrDefault(x => x.ID == request.Data.EmpStatus).Code; if (request.Data.EmpTypeDesc == string.Empty || request.Data.EmpTypeDesc == null) { request.Data.EmpTypeDesc = _empTypeDesc; } using (var transaction = _context.Database.BeginTransaction()) { int _resultAffected = 0; //cek employee assignment, if empid exist with joint date long _emplId = GetEmployeeNo(request.Data.EmpID); if (_emplId == 0 && !String.IsNullOrEmpty(request.Data.LastEmpId)) { _emplId = GetEmployeeNo(request.Data.LastEmpId); } if (request.Data.IsFromAPI) { //convert EmpType, Reff Emp ID & EmpStatus to Id request.Data.EmpType = _context.FamilyRelationships.SingleOrDefault(x => x.Code == request.Data.EmpTypeDesc).ID; request.Data.Status = _context.EmployeeStatus.SingleOrDefault(x => x.Code == request.Data.EmpStatusDesc).ID; if (request.Data.ReffEmpID != string.Empty) { request.Data.ReffEmpID = _context.Employees.SingleOrDefault(x => x.EmpID == request.Data.ReffEmpID).ID.ToString(); } } try { var _qry = _context.Employees.SingleOrDefault(x => x.EmpID == request.Data.EmpID); if (_qry != null) { // save the old data var _oldentity = Mapper.Map <Employee, EmployeeModel>(_qry); // update data _qry.EmpName = request.Data.EmpName; _qry.BirthDate = request.Data.Birthdate; _qry.Gender = request.Data.Gender; _qry.Email = CommonUtils.Encryptor(request.Data.Email, CommonUtils.KeyEncryptor); _qry.EmpType = request.Data.EmpType; _qry.ReffEmpID = request.Data.ReffEmpID; _qry.Status = request.Data.EmpStatus; _qry.KTPNumber = request.Data.KTPNumber; _qry.HPNumber = CommonUtils.Encryptor(request.Data.HPNumber, CommonUtils.KeyEncryptor); _qry.ReffEmpID = request.Data.ReffEmpID; _qry.LastEmpID = request.Data.LastEmpId; _qry.ModifiedBy = request.Data.ModifiedBy ?? "SYSTEM"; _qry.ModifiedDate = DateTime.Now; _resultAffected = _context.SaveChanges(); if (_resultAffected > 0) { CommandLog(true, ClinicEnums.Module.MASTER_EMPLOYEE, Constants.Command.EDIT_EMPLOYEE, request.Data.Account, request.Data, _oldentity); } var _qryEmpAss = _context.EmployeeAssignments.FirstOrDefault(x => x.EmployeeID == _emplId && x.StartDate == request.Data.StartDate); if (_qryEmpAss != null) { _resultAffected = 0; _qryEmpAss.StartDate = request.Data.StartDate; _qryEmpAss.EndDate = request.Data.EndDate.Value.ToString().Contains("1/1/0001") ? (DateTime)SqlDateTime.Null : request.Data.EndDate.Value; _qryEmpAss.Department = request.Data.Department; _qryEmpAss.Region = request.Data.Region; _qryEmpAss.BusinessUnit = request.Data.BussinesUnit; _qryEmpAss.EmpStatus = request.Data.EmpStatus; _qryEmpAss.LastEmpID = request.Data.LastEmpId; _qryEmpAss.ModifiedBy = request.Data.ModifiedBy ?? "SYSTEM"; _qryEmpAss.ModifiedDate = DateTime.Now; _resultAffected = _context.SaveChanges(); var newEmployeeAssignment = new EmployeeAssignment { EmployeeID = _qry.ID, BusinessUnit = request.Data.BussinesUnit, Department = request.Data.Department, StartDate = request.Data.StartDate, EndDate = request.Data.EndDate, Region = request.Data.Region, EmpStatus = request.Data.EmpStatus, LastEmpID = request.Data.LastEmpId }; if (_resultAffected > 0) { CommandLog(true, ClinicEnums.Module.EMPLOYEE_ASSIGNMENT, Constants.Command.EDIT_EMPLOYEEASSIGNMENT, request.Data.Account, newEmployeeAssignment, _qryEmpAss); } } response.Message = string.Format(Messages.ObjectHasBeenUpdated, "Employee", _qry.EmpName, _qry.EmpID); } else { //cek dulu dgn Last Employee ID var oldEmployee = _context.Employees.SingleOrDefault(x => x.EmpID == request.Data.LastEmpId); if (oldEmployee != null) { long _newEmpId = 0; //insert new in employee & employee assignment if (request.Data.EmpTypeDesc.Trim() != Constants.Command.EmployeeRelationshipCode) { request.Data.EmpID = string.Format("{0}-{1}", request.Data.ReffEmpID, request.Data.EmpTypeDesc); } var _employeeEntity = Mapper.Map <EmployeeModel, Employee>(request.Data); _employeeEntity.CreatedDate = DateTime.Now; _employeeEntity.CreatedBy = request.Data.Account.UserCode; _context.Employees.Add(_employeeEntity); _resultAffected = _context.SaveChanges(); if (_resultAffected > 0) { CommandLog(true, ClinicEnums.Module.MASTER_EMPLOYEE, Constants.Command.ADD_NEW_EMPLOYEE, request.Data.Account, _employeeEntity); _newEmpId = _employeeEntity.ID; } if (request.Data.EmpTypeDesc.Trim() == Constants.Command.EmployeeRelationshipCode) { var _employeeAssignmentEntity = new EmployeeAssignment { EmployeeID = _employeeEntity.ID, BusinessUnit = request.Data.BussinesUnit, Department = request.Data.Department, StartDate = request.Data.StartDate, EndDate = request.Data.EndDate, Region = request.Data.Region, EmpStatus = request.Data.EmpStatus, LastEmpID = request.Data.LastEmpId, Grade = request.Data.Grade, CreatedDate = DateTime.Now, CreatedBy = request.Data.Account.UserCode }; _context.EmployeeAssignments.Add(_employeeAssignmentEntity); _resultAffected = _context.SaveChanges(); if (_resultAffected > 0) { CommandLog(true, ClinicEnums.Module.EMPLOYEE_ASSIGNMENT, Constants.Command.ADD_EMPLOYEEASSIGNMENT, request.Data.Account, _employeeAssignmentEntity); } } oldEmployee.Status = _context.EmployeeStatus.FirstOrDefault(x => x.Code == Constants.Command.NotActiveCode).ID; _context.SaveChanges(); //get all dependent var _getAllDependant = _context.Employees.Where(x => x.ReffEmpID == oldEmployee.ID.ToString()); foreach (var item in _getAllDependant) { item.ReffEmpID = _newEmpId.ToString(); item.EmpID = $"{_newEmpId}-{item.EmployeeStatu.Code}"; _context.SaveChanges(); } //update employee assignment var oldEmpAssignment = _context.EmployeeAssignments.SingleOrDefault(x => x.EmployeeID == _emplId); if (oldEmpAssignment.ID > 0) { oldEmpAssignment.EndDate = request.Data.StartDate; oldEmpAssignment.EmpStatus = _context.EmployeeStatus.FirstOrDefault(x => x.Code == Constants.Command.NotActiveCode.ToString()).ID; _context.SaveChanges(); } } else { if (request.Data.EmpTypeDesc.Trim() != Constants.Command.EmployeeRelationshipCode) { request.Data.EmpID = string.Format("{0}-{1}", request.Data.ReffEmpID, request.Data.EmpTypeDesc); } var _employeeEntity = Mapper.Map <EmployeeModel, Employee>(request.Data); _employeeEntity.CreatedDate = DateTime.Now; _employeeEntity.CreatedBy = request.Data.Account.UserCode; _context.Employees.Add(_employeeEntity); _resultAffected = _context.SaveChanges(); if (_resultAffected > 0) { CommandLog(true, ClinicEnums.Module.MASTER_EMPLOYEE, Constants.Command.ADD_NEW_EMPLOYEE, request.Data.Account, _employeeEntity); } if (request.Data.EmpTypeDesc.Trim() == Constants.Command.EmployeeRelationshipCode) { var _employeeAssignmentEntity = new EmployeeAssignment { EmployeeID = _employeeEntity.ID, BusinessUnit = request.Data.BussinesUnit, Department = request.Data.Department, StartDate = request.Data.StartDate, EndDate = request.Data.EndDate, Region = request.Data.Region, EmpStatus = request.Data.EmpStatus, LastEmpID = request.Data.LastEmpId, Grade = request.Data.Grade, CreatedDate = DateTime.Now, CreatedBy = request.Data.Account.UserCode }; _context.EmployeeAssignments.Add(_employeeAssignmentEntity); _resultAffected = _context.SaveChanges(); if (_resultAffected > 0) { CommandLog(true, ClinicEnums.Module.EMPLOYEE_ASSIGNMENT, Constants.Command.ADD_EMPLOYEEASSIGNMENT, request.Data.Account, _employeeAssignmentEntity); } } } response.Message = string.Format(Messages.ObjectHasBeenAdded, "Employee", request.Data.EmpName, request.Data.EmpID); } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); response.Status = false; response.Message = Messages.GeneralError; if (request.Data != null && request.Data.Id > 0) { ErrorLog(ClinicEnums.Module.MASTER_EMPLOYEE, Constants.Command.EDIT_EMPLOYEE, request.Data.Account, ex); } else { ErrorLog(ClinicEnums.Module.MASTER_EMPLOYEE, Constants.Command.ADD_NEW_EMPLOYEE, request.Data.Account, ex); } } } return(response); }
private EmployeeAssignment GetEmployeeAssignmentInstance() { if (_engine == null) { _engine = new EmployeeAssignment(connString); } return _engine; }
public void Save(EmployeeAssignment employeeAssignment, EmployeeKRAAssignment kraAssignment, EmployeeBehavioralAssignment behavioralAssignment) { }
public ActionResult showdata([FromBody] AssignmentShowModel model) { List <Assignment> assignmentInfo = EmployeeAssignment.GetAssignmentsInfo(model.EmployeeNames, model.Year, model.Month + 1); return(Json(assignmentInfo)); }
public ActionResult deletedata([FromBody] AssignmentSaveModel model) { EmployeeAssignment.DeleteAssignmentsInfo(model.Assignments); return(showdata(model.ShowData)); }
public IActionResult GetById(int id) { IndividualProjectPage individualProjectPage = new IndividualProjectPage { ID = _projectRepository.Get(id).ProjectId, Name = _projectRepository.Get(id).ProjectName, desc = _projectRepository.Get(id).ProjectDescription, salaryBudget = _projectRepository.Get(id).SalaryBudget, totalInvoice = _projectRepository.Get(id).TotalInvoice, materialBudget = _projectRepository.Get(id).MaterialBudget, spendToDate = _projectRepository.Get(id).SpentToDate, startDate = _projectRepository.Get(id).ProjectStartDate, endDate = _projectRepository.Get(id).ProjectEndDate, completion = _projectRepository.Get(id).PercentageComplete, recoredStoredCompleted = _projectRepository.Get(id).recordStoredCompleted, progressSurveyResult = _projectRepository.Get(id).IsInProgressSurveyComplete, progressSurveySent = _projectRepository.Get(id).IsInProgressSurveySent, followupSurveyResult = _projectRepository.Get(id).IsFollowUpSurveyComplete, followupSurveySent = _projectRepository.Get(id).IsFollowUpSurveySent, isProposal = _projectRepository.Get(id).IsProposal, isUnderISO13485 = _projectRepository.Get(id).isUnderISO13485, businessCode = _projectRepository.Get(id).BusinessCode, costMultiplier = _projectRepository.Get(id).CostMultiplier }; HashSet <Lead> leadList = new HashSet <Lead>(); HashSet <Member> memberList = new HashSet <Member>(); foreach (EmployeeAssignment item in _employeeAssignmentRepository.GetAll()) { if (item.IsProjectManager) { foreach (Employee employee in _employeeRepository.GetAll()) { if (employee.EmployeeId == item.EmployeeId) { leadList.Add(new Lead(item.EmployeeId, employee.Name, employee.Salary)); } } } else { foreach (Employee employee in _employeeRepository.GetAll()) { if (employee.EmployeeId == item.EmployeeId) { memberList.Add(new Member(item.EmployeeId, employee.Name, employee.Salary)); } } } } individualProjectPage.lead = leadList.ToList(); individualProjectPage.member = memberList.ToList(); individualProjectPage.phaseArr = new List <PhaseArr>(); foreach (Phase phase in _phaseRepository.GetAll()) { if (phase.ProjectId == id) { individualProjectPage.phaseArr.Add(new PhaseArr(phase.PhaseId, phase.Name, phase.StartDate, phase.EndDate, phase.IsRecordDone, phase.PredictedDurationInWeeks, phase.ActualDurationInWeeks, phase.Impact)); } } individualProjectPage.workloadArr = new List <WorkloadArr>(); WorkloadArr currentWorkloadArr = new WorkloadArr(); foreach (Project proj in _projectRepository.GetAll()) { if (proj.ProjectId == id) { foreach (Employee emp in _employeeRepository.GetAll()) { ProjectedWorkload currentProjectedWorkload = _projectedWorkloadRepository.Get(proj, emp, DateTime.Now.Month, DateTime.Now.Year); if (currentProjectedWorkload != null) { for (int k = 0; k < 6; k++) { int currentMonth = DateTime.Now.AddMonths(k).Month; int currentYear = DateTime.Now.AddMonths(k).Year; if (emp.EmployeeId == _projectedWorkloadRepository .Get(proj, emp, currentMonth, currentYear).EmployeeId && proj.ProjectId == _projectedWorkloadRepository .Get(proj, emp, currentMonth, currentYear).ProjectId) { currentWorkloadArr.empID = emp.EmployeeId; currentWorkloadArr.empName = emp.Name; currentWorkloadArr.SetSpecificMonth(k + 1, _projectedWorkloadRepository .Get(proj, emp, currentMonth, currentYear).Hours); } } individualProjectPage.workloadArr.Add(new WorkloadArr(currentWorkloadArr.empID, currentWorkloadArr.empName, currentWorkloadArr.month1, currentWorkloadArr.month2, currentWorkloadArr.month3, currentWorkloadArr.month4, currentWorkloadArr.month5, currentWorkloadArr.month6)); } } } } individualProjectPage.invoiceArr = new List <InvoiceArr>(); foreach (Invoice i in _invoiceRepository.GetAll()) { if (i.ProjectId == id) { individualProjectPage.invoiceArr.Add(new InvoiceArr(i.InvoiceAmount, i.InvoiceTime)); } } individualProjectPage.material = new List <Material>(); foreach (Phase phase in _phaseRepository.GetAll()) { if (phase.ProjectId == id) { individualProjectPage.material.Add(new Material(phase.PhaseId, phase.Name, phase.MaterialActualBudget, phase.MaterialProjectedBudget, phase.MaterialImpact)); } } individualProjectPage.employeeSalaryList = new List <EmployeeSalary>(); foreach (Employee emp in _employeeRepository.GetAll()) { List <PhaseDetails> phaseDetailsList = new List <PhaseDetails>(); foreach (Phase phase in _phaseRepository.GetAll()) { if (phase.ProjectId == id && _employeeAssignmentRepository.Get(phase.PhaseId, emp.EmployeeId) != null) { EmployeeAssignment currentEmployeeAssignment = _employeeAssignmentRepository.Get(phase.PhaseId, emp.EmployeeId); phaseDetailsList.Add(new PhaseDetails(phase.PhaseId, phase.Name, currentEmployeeAssignment.ProjectedHours, currentEmployeeAssignment.ActualHours, currentEmployeeAssignment.Impact)); } } if (phaseDetailsList.Count != 0) //to prevent all the employees from being added to the employeeSalaryList. Only employees that are working on the project will be added. { individualProjectPage.employeeSalaryList.Add(new EmployeeSalary(emp.EmployeeId, emp.Name, emp.Salary, phaseDetailsList)); } } return(Ok(individualProjectPage)); }