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()); }
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." })); }
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)); } }
public async Task <IActionResult> GetExpenseCategories([FromServices] FinancialControl.Module module) { return(this.Ok(await module.GetExpenseCategories(new GetExpenseCategoriesMessage()))); }