Beispiel #1
0
        public async Task <IActionResult> AddExpense([FromBody] NewExpenseDTO data)
        {
            if (await Task.Run(() => dv.isExpenseValidAsync(data)))
            {
                if (await Task.Run(() => exp.AddExpense(data)))
                {
                    return(Ok("Expense added"));
                }
                else
                {
                    BadRequest("Expense not added");
                }
            }

            return(BadRequest("Expense is too big"));
        }
        public async Task <bool> isExpenseValidAsync(NewExpenseDTO expense)
        {
            var allExpenses = await exc.GetExpenses(new GetExpensesDTO
            {
                ownerId = expense.ownerId,
                maxNumberOfExpensesToShow = -1,
                numberOfDaysToShow        = -1
            });

            var allIncomes = await inc.GetAllIncomes(new GetAllDTO
            {
                ownerId = expense.ownerId,
                maxNumberOfIncomesToShow = -1,
                numberOfDaysToShow       = -1
            });

            var expensesSum = allExpenses.Sum(x => x.Moneyused);
            var incomesSum  = allIncomes.Sum(x => x.Moneyrecieved);

            return(incomesSum - expensesSum > expense.moneyUsed);
        }
Beispiel #3
0
 public Task <bool> AddExpense(NewExpenseDTO data) => Task.Run(() =>
 {
     try
     {
         var expense = new Expense
         {
             Ownerid         = data.ownerId,
             Userid          = data.userId,
             Expenseid       = Guid.NewGuid().ToString(),
             Moneyused       = data.moneyUsed,
             Expensetime     = DateTime.Now,
             Expensename     = data.expenseName,
             Expensecategory = (int)data.expenseCategory
         };
         context.Expense.Add(expense);
         context.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 });
        public async Task <string> AddExpense(string userId, string ownerId, string expenseName, float moneyUsed, int expenseCategory)
        {
            NewExpenseDTO data = new NewExpenseDTO {
                userId = userId, ownerId = ownerId, expenseName = expenseName, moneyUsed = moneyUsed, expenseCategory = expenseCategory
            };
            var json          = JsonConvert.SerializeObject(data);
            var stringContent = new StringContent(json, Encoding.UTF8, "application/json");

            try
            {
                var response = await client.PostAsync("http://194.5.157.98:88/api/Expenses", stringContent);

                response.EnsureSuccessStatusCode();
                var responseBody = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                return(responseBody);
            }
            catch (Exception ex)
            {
                Logger.Log(string.Format("AddExpense: {0}", ex.ToString()));
            }

            return("Unexpected error");
        }