// GET: Staff/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EmployeeViewModel employee = _staffService.FindById(id.Value); if (employee == null) { return(HttpNotFound()); } return(View(employee)); }
public async Task <AdvancedGetRenewContractResponse> AdvancedGetRenewContract(string sorts, string filters, int?page, int?pageSize) { var sieveModel = new SieveModel() { PageSize = pageSize, Sorts = sorts, Page = page, Filters = filters }; var renewContract = await _repoWrapper.RenewContract.FindAllAsync(); if (renewContract == null || renewContract.Any() == false) { throw new HttpStatusCodeException(HttpStatusCode.NotFound, "RenewContractService: No contract is found"); } var resultResponses = new List <GetRenewContractResponse>(); foreach (var contractRenewalForm in renewContract) { var student = await _studentService.FindById(contractRenewalForm.StudentId); Staff staff = null; if (contractRenewalForm.StaffId != null) { staff = await _staffService.FindById(contractRenewalForm.StaffId.Value); } resultResponses.Add(GetRenewContractResponse.ResponseFromEntity(contractRenewalForm, student, staff)); } //Apply filter, sort var result = _sieveProcessor.Apply(sieveModel, resultResponses.AsQueryable(), applyPagination: false).ToList(); var response = new AdvancedGetRenewContractResponse() { CurrentPage = page ?? 1, TotalPage = (int)Math.Ceiling((double)result.Count / pageSize ?? 1), //Apply pagination ResultList = _sieveProcessor .Apply(sieveModel, result.AsQueryable(), applyFiltering: false, applySorting: false).ToList() }; //Return List of result return(response); }