public GridResultSM <ExpenseSM> GetExpenses(ExpensesFilterSM filter) { if (filter?.GridFilter == null) { return(null); } var query = _expenseCollection.Find(x => x.ExpenseDate >= filter.StartDate && x.ExpenseDate <= filter.EndDate.AddDays(1)); List <ExpenseMongoDM> expenses; expenses = query.Skip(filter.GridFilter.Skip).Limit(filter.GridFilter.ItemsPerPage).ToList(); var sum = _expenseCollection.Aggregate() .Group( x => null as string, //x.Id, group => new { Id = group.Key, Sum = group.Sum(x => x.ExpenseValue) }).SingleOrDefault(); var count = _expenseCollection.CountDocuments(x => true); return(new GridResultSM <ExpenseSM>(filter.GridFilter.PageNumber, (int)count, filter.GridFilter.ItemsPerPage, sum.Sum / 1000m, Mapper.Map <List <ExpenseSM> >(expenses))); }
public GridResultSM <ExpenseSM> GetExpenses(ExpensesFilterSM filter) { if (filter?.GridFilter == null) { throw new CjExpInvalidOperationException("No Grid Request Data has been supplied"); } return(_data.GetExpenses(filter)); }
public IActionResult GetExpenses(ExpensesFilterAM model) { var filter = new ExpensesFilterSM { StartDate = model.StartDate, EndDate = model.EndDate, GridFilter = new GridRequestSM { ItemsPerPage = model.ItemsPerPage, PageNumber = model.PageNumber } }; var expenses = _expensesService.GetExpenses(filter); return(Ok(new { expenses = expenses.GridRows })); }
public GridResultSM <ExpenseSM> GetExpenses(ExpensesFilterSM filter, GridRequestSM gridRequest) { throw new NotImplementedException(); }