public IncomeQueryBuilder(IncomeSearchCriteria criteria) : base(criteria) { if (criteria.CategoryId.HasValue) { _category = _daoTemplate.FindByID <Category>(criteria.CategoryId); } }
public IncomeSearchCriteria WithCategory(Category category) { IncomeSearchCriteria another = this.Clone <IncomeSearchCriteria>(); if (category != null) { another.CategoryId = category.Id; } else { another.CategoryId = null; } // need to reset page index another.PageIndex = 1; return(another); }
public ActionResult List(IncomeSearchCriteria criteria) { IncomeQueryBuilder queryBuilder = new IncomeQueryBuilder(criteria); var result = queryBuilder.Execute(daoTemplate.Session); var incomes = result.Results; IEnumerable<IncomeListItemViewModel> viewModels = incomes.Select(income => new IncomeListItemViewModel(income)); ViewData["searchResult"] = result; ViewData["categories"] = _categoryServise.AllVisibleCategories(); return View(viewModels); }