Exemple #1
0
        public IEnumerable <ExpenseViewModel> Search(SearchExpensesViewModel model)
        {
            var query = _db.Expenses.Where(e => e.UserId == _currentUser.Id);

            if (model.CategoryId.HasValue)
            {
                query = query.Where(e => e.CategoryId == model.CategoryId);
            }

            query = ApplyOrderCriteriion(query, model.Order);
            query = ApplyTimeSpanCriterion(query, model.TimeSpan);

            return(query
                   .Skip((model.PageNumber - 1) * model.PageSize)
                   .Take(model.PageSize)
                   .Select(e => new ExpenseViewModel
            {
                Id = e.Id,
                Name = e.Name,
                CategoryId = e.CategoryId,
                CategoryName = e.Category.Name,
                DateTime = e.DateTime,
                Value = e.Value
            })
                   .ToList());
        }
Exemple #2
0
        public IActionResult Search(SearchExpensesViewModel model)
        {
            var expenses   = _expenseReader.Search(model);
            var categories = _categoryReader.GetSelectList();

            var page = new ExpensePageViewModel
            {
                PageNumber = model.PageNumber,
                PageSize   = model.PageSize,
                CategoryId = model.CategoryId,
                Order      = model.Order,
                TimeSpan   = model.TimeSpan,
                Expenses   = expenses,
                Categories = categories
            };

            return(View(page));
        }