コード例 #1
0
        public async Task <IActionResult> AddTransaction([FromServices] FinancialControl.Module module,
                                                         [FromServices] IAuthService authService, [FromBody] NewTransactionRequest request)
        {
            var user = authService.AuthenticatedUser();

            request.UserId = user.Id;

            if (request.Type == "income")
            {
                if (request.Recurrent)
                {
                    await module.AddNewRecurrentIncome(new AddNewRecurrentIncomeMessage(request.UserId, request.Name, request.Category, request.Date, request.Value, request.Until, request.Frequency));
                }
                else
                {
                    await module.AddNewIncome(new AddNewIncomeMessage(request.UserId, request.Name, request.Category, request.Date, request.Value));
                }
            }
            else if (request.Type == "expense")
            {
                if (request.Recurrent)
                {
                    await module.AddNewRecurrentExpense(new AddNewRecurrentExpenseMessage(request.UserId, request.Name, request.Category, request.Date, request.Value, request.Until, request.Frequency));
                }
                else
                {
                    await module.AddNewExpense(new AddNewExpenseMessage(request.UserId, request.Name, request.Category, request.Date, request.Value));
                }
            }

            return(this.Ok());
        }
コード例 #2
0
        public async Task <IActionResult> DeleteTransaction([FromServices] FinancialControl.Module module, string type, Guid id)
        {
            if (type.Equals("income", StringComparison.InvariantCultureIgnoreCase))
            {
                await module.DeleteIncome(new DeleteIncomeMessage(id));
            }
            //else if(type.Equals("expense", StringComparison.InvariantCultureIgnoreCase))
            //    await module.DeleteExpense(new DeleteIncomeMessage(id));

            return(this.Ok(new { message = "Transaction successfully deleted." }));
        }
コード例 #3
0
 public async Task <IActionResult> GetUserTransactions([FromServices] FinancialControl.Module module,
                                                       [FromServices] IAuthService authService)
 {
     try
     {
         var user = authService.AuthenticatedUser();
         return(this.Ok(await module.GetUserTransactionsByFilter(new GetUserTransactionsByFilterMessage(user != null ? user.Id : Guid.NewGuid()))));
     }
     catch (Exception ex)
     {
         return(this.BadRequest(ex.Message));
     }
 }
コード例 #4
0
 public async Task <IActionResult> GetExpenseCategories([FromServices] FinancialControl.Module module)
 {
     return(this.Ok(await module.GetExpenseCategories(new GetExpenseCategoriesMessage())));
 }