Ejemplo n.º 1
0
        public async Task <List <Expense> > GetExpenses(GetExpensesDTO data)
        {
            List <Expense> listOfExpenses;

            if (data.numberOfDaysToShow < 0)
            {
                if (data.maxNumberOfExpensesToShow < 0)
                {
                    listOfExpenses = await Task.Run(() => context.Expense.Where(a => a.Ownerid == data.ownerId)
                                                    .ToList());
                }
                else
                {
                    listOfExpenses = await Task.Run(() => context.Expense.Where(a => a.Ownerid == data.ownerId)
                                                    .OrderBy(a => a.Expensetime)
                                                    .Take(data.maxNumberOfExpensesToShow).ToList());
                }
            }
            else
            {
                if (data.maxNumberOfExpensesToShow < 0)
                {
                    listOfExpenses = await Task.Run(() => context.Expense.Where(a => a.Ownerid == data.ownerId && a.Expensetime > DateTime.Now.AddDays(-data.numberOfDaysToShow))
                                                    .ToList());
                }
                else
                {
                    listOfExpenses = await Task.Run(() => context.Expense.Where(a => a.Ownerid == data.ownerId && a.Expensetime > DateTime.Now.AddDays(-data.numberOfDaysToShow))
                                                    .OrderBy(a => a.Expensetime)
                                                    .Take(data.maxNumberOfExpensesToShow).ToList());
                }
            }
            return(listOfExpenses);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> GetExpenses(string ownerId, int numberOfDaysToShow, int maxNumberOfExpensesToShow)
        {
            GetExpensesDTO data = new GetExpensesDTO {
                ownerId = ownerId, numberOfDaysToShow = numberOfDaysToShow, maxNumberOfExpensesToShow = maxNumberOfExpensesToShow
            };

            return(Ok(await Task.Run(() => exp.GetExpenses(data))));
        }
Ejemplo n.º 3
0
        public async Task <List <SumByOwnerDTO> > GetSumOfExpensesByOwner(ExpensesByOwnerDTO data)
        {
            GetExpensesDTO data2 = new GetExpensesDTO();

            data2.ownerId                   = data.ownerId;
            data2.numberOfDaysToShow        = data.numberOfDaysToShow;
            data2.maxNumberOfExpensesToShow = -1;

            List <Expense> listOfExpenses = await Task.Run(() => GetExpenses(data2));

            List <SumByOwnerDTO> modifiedExpenses = (await Task.WhenAll(listOfExpenses.
                                                                        GroupBy(e => e.Userid).
                                                                        Select(async ce => new SumByOwnerDTO
            {
                userName = (await Task.Run(() => usp.GetUserById(new UserIdDTO {
                    userId = ce.First().Userid
                }))).Username,
                sum = ce.Sum(e => e.Moneyused)
            }))).ToList();

            return(modifiedExpenses);
        }