Example #1
0
        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)));
        }
Example #2
0
 public GridResultSM <ExpenseSM> GetExpenses(ExpensesFilterSM filter)
 {
     if (filter?.GridFilter == null)
     {
         throw new CjExpInvalidOperationException("No Grid Request Data has been supplied");
     }
     return(_data.GetExpenses(filter));
 }
Example #3
0
        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
            }));
        }
Example #4
0
 public GridResultSM <ExpenseSM> GetExpenses(ExpensesFilterSM filter, GridRequestSM gridRequest)
 {
     throw new NotImplementedException();
 }