public async Task <Result <BaseExpenseDto> > CreateExpense(BaseModifyExpenseDto modifyExpenseDto, string userId) { if (!(modifyExpenseDto is ModifyExpenseDto expenseDto)) { throw new ArgumentException(); } var hasUserPermission = await _walletPermissionService.HasUserAccess(modifyExpenseDto.WalletId, userId); if (!hasUserPermission) { return(Result <BaseExpenseDto> .Failure()); } var mapped = Mapper.Map <Expense>(expenseDto); mapped.ModifiedById = userId; mapped.CreatedById = userId; await _expenseRepository.CreateExpense(mapped); if (mapped.Id == default) { return(Result <BaseExpenseDto> .Failure()); } var addedExpense = await _expenseRepository.GetExpense(mapped.Id); var addedMapped = Mapper.Map <ExpenseDto>(addedExpense); return(Result <BaseExpenseDto> .Success(addedMapped)); }
public IActionResult Create(Expense expense) { if (ModelState.IsValid) { _expenseRepository.CreateExpense(expense); Accountancy accountancy = new Accountancy(); _accountancyRepository.CreateOrEditExpense(accountancy); } return(RedirectToAction(nameof(Index))); }
public IActionResult Pay(Expense expense, int Id) { var regular = _regularRepository.GetRegular(Id); if (regular.Status == false) { expense.ShoppingDate = expense.Payment.ToShortDateString(); expense.Id = 0; _expenseRepository.CreateExpense(expense); _regularRepository.ChangeStatus(regular); Accountancy accountancy = new Accountancy(); _accountancyRepository.CreateOrEditExpense(accountancy); return(RedirectToAction(nameof(Index))); } else { return(RedirectToAction(nameof(Payed))); } }
private async Task AddExpense(CyclicExpense expense) { await _expenseRepository.CreateExpense(_mapper.Map <Expense>(expense)); }