public ActionResult Index(ExpenseReportSearchModel.SearchFilters filters) { var model = new ExpenseReportSearchModel(); if (filters != null) model.Filters = filters; var accountManager = _employeeRepository.GetByUserName(model.Filters.Submitter); var practiceOwner = _employeeRepository.GetByUserName(model.Filters.Approver); var status = !string.IsNullOrWhiteSpace(model.Filters.Status) ? ExpenseReportStatus.FromKey(model.Filters.Status) : null; var specification = new SearchSpecification(); specification.MatchSubmitter(accountManager); specification.MatchApprover(practiceOwner); specification.MatchStatus(status); ExpenseReport[] orders = _expenseReportRepository.GetMany(specification); model.Results = orders; return View(model); }
public ActionResult Index(ExpenseReportSearchModel.SearchFilters filters) { var model = new ExpenseReportSearchModel(); if (filters != null) model.Filters = filters; var submitter = _bus.Send(new EmployeeByUserNameQuery(model.Filters.Submitter)).Result; var approver = _bus.Send(new EmployeeByUserNameQuery(model.Filters.Approver)).Result; var status = !string.IsNullOrWhiteSpace(model.Filters.Status) ? ExpenseReportStatus.FromKey(model.Filters.Status) : null; var specification = new ExpenseReportSpecificationQuery { Approver = approver, Submitter = submitter, Status = status }; ExpenseReport[] orders = _bus.Send(specification).Results; model.Results = orders; return View(model); }