public async Task <IActionResult> GetEmployees([FromQuery] int count, [FromQuery] int pageIndex = 0) { var totalItems = await _context.Employees .LongCountAsync(); var itemsOnPage = await _context.Employees .OrderBy(e => e.EmpLastName) .ThenBy(e => e.EmpLastName) .ThenBy(e => e.EmpMiddleName) .Skip(count * pageIndex) .Take(count) .ToListAsync(); var employeesToReturn = new List <DisplayEmployeeVM>(); if (itemsOnPage.Count > 0) { foreach (var item in itemsOnPage) { item.setEmployeeImageFullUrl(baseUrl: _employeesImagesPublicBaseUrl); var employeeToReturn = new BasicDisplayEmployeeVM { Id = item.EmpId.ToString(), Code = item.EmpCode, LastName = item.EmpLastName, FirstName = item.EmpFirstName, MiddleName = item.EmpMiddleName, Salary = item.EmpSalary, UCTRegisteredOn = item.UctregisteredOn, Title = item.EmpTitle, Image = item.EmpImage, UCTStartDate = item.UctstartDate }; var originalManager = item.getMaNanager(_context); BasicDisplayEmployeeVM managerToReturn = null; if (originalManager != null) { originalManager.setEmployeeImageFullUrl(baseUrl: _employeesImagesPublicBaseUrl); managerToReturn = new BasicDisplayEmployeeVM { Id = originalManager.EmpId.ToString(), Code = originalManager.EmpCode, LastName = originalManager.EmpLastName, FirstName = originalManager.EmpFirstName, MiddleName = originalManager.EmpMiddleName, Salary = originalManager.EmpSalary, UCTRegisteredOn = originalManager.UctregisteredOn, Title = originalManager.EmpTitle, Image = originalManager.EmpImage, UCTStartDate = originalManager.UctstartDate }; } var originalListOfSubordinates = item.getSubordinates(_context); List <BasicDisplayEmployeeVM> listOfSubordinatesToReturn = null; if (originalListOfSubordinates != null && originalListOfSubordinates.Count > 0) { listOfSubordinatesToReturn = new List <BasicDisplayEmployeeVM>(); foreach (var subordinate in originalListOfSubordinates) { subordinate.setEmployeeImageFullUrl(baseUrl: _employeesImagesPublicBaseUrl); listOfSubordinatesToReturn.Add(new BasicDisplayEmployeeVM { Id = subordinate.EmpId.ToString(), Code = subordinate.EmpCode, LastName = subordinate.EmpLastName, FirstName = subordinate.EmpFirstName, MiddleName = subordinate.EmpMiddleName, Salary = subordinate.EmpSalary, UCTRegisteredOn = subordinate.UctregisteredOn, Title = subordinate.EmpTitle, Image = subordinate.EmpImage, UCTStartDate = subordinate.UctstartDate }); } } employeesToReturn.Add(new DisplayEmployeeVM(employeeToReturn, managerToReturn, listOfSubordinatesToReturn)); } } if (_envConfig.IsDevelopment()) { Response.Headers.Add("Access-Control-Allow-Origin", "http://localhost:4200"); } return(Ok(new PaginatedResponse <DisplayEmployeeVM>(pageIndex, count, totalItems, employeesToReturn))); }
public async Task <IActionResult> GetEmployeeByIdOrCode(string idOrCode) { //check the field idOrCode var result = await _context.Employees.Where(emp => emp.EmpId.ToString().Equals(idOrCode.Trim()) || emp.EmpCode.Equals(idOrCode.Trim(), StringComparison.OrdinalIgnoreCase)).ToListAsync(); if (result.Count != 1) { return(NotFound()); } else { var currentEmp = result[0]; currentEmp.setEmployeeImageFullUrl(baseUrl: _employeesImagesPublicBaseUrl); var employeeToReturn = new BasicDisplayEmployeeVM { Id = currentEmp.EmpId.ToString(), Code = currentEmp.EmpCode, LastName = currentEmp.EmpLastName, FirstName = currentEmp.EmpFirstName, MiddleName = currentEmp.EmpMiddleName, Salary = currentEmp.EmpSalary, UCTRegisteredOn = currentEmp.UctregisteredOn, Title = currentEmp.EmpTitle, Image = currentEmp.EmpImage, UCTStartDate = currentEmp.UctstartDate }; var originalManager = currentEmp.getMaNanager(_context); BasicDisplayEmployeeVM managerToReturn = null; if (originalManager != null) { originalManager.setEmployeeImageFullUrl(baseUrl: _employeesImagesPublicBaseUrl); managerToReturn = new BasicDisplayEmployeeVM { Id = originalManager.EmpId.ToString(), Code = originalManager.EmpCode, LastName = originalManager.EmpLastName, FirstName = originalManager.EmpFirstName, MiddleName = originalManager.EmpMiddleName, Salary = originalManager.EmpSalary, UCTRegisteredOn = originalManager.UctregisteredOn, Title = originalManager.EmpTitle, Image = originalManager.EmpImage, UCTStartDate = originalManager.UctstartDate }; } var originalListOfSubordinates = currentEmp.getSubordinates(_context); List <BasicDisplayEmployeeVM> listOfSubordinatesToReturn = null; if (originalListOfSubordinates != null && originalListOfSubordinates.Count > 0) { listOfSubordinatesToReturn = new List <BasicDisplayEmployeeVM>(); foreach (var subordinate in originalListOfSubordinates) { subordinate.setEmployeeImageFullUrl(baseUrl: _employeesImagesPublicBaseUrl); listOfSubordinatesToReturn.Add(new BasicDisplayEmployeeVM { Id = subordinate.EmpId.ToString(), Code = subordinate.EmpCode, LastName = subordinate.EmpLastName, FirstName = subordinate.EmpFirstName, MiddleName = subordinate.EmpMiddleName, Salary = subordinate.EmpSalary, UCTRegisteredOn = subordinate.UctregisteredOn, Title = subordinate.EmpTitle, Image = subordinate.EmpImage, UCTStartDate = subordinate.UctstartDate }); } } return(Ok(new DisplayEmployeeVM(employeeToReturn, managerToReturn, listOfSubordinatesToReturn))); } }