public async Task <IActionResult> EditAnotherExpense(int?id) { if (id == null) { return(RedirectToAction(nameof(Error), new { Message = "Id não fornecido" })); } var expense = await _anothersExpenseRepository.FindExpenseByIdAsync(id.Value); if (expense == null) { return(RedirectToAction(nameof(Error), new { Message = "Despesa não encontrada" })); } var category = await _categoryRepository.FindAll(); EditexpenseFixedFormViewModel viewModel = new EditexpenseFixedFormViewModel() { CategoriaId = expense.CategoriaId, Categorias = category, Descricao = expense.Descricao, Id = expense.Id, Valor = expense.Valor, UserId = expense.UserId }; return(View(viewModel)); }
public async Task <IActionResult> EditExpenseFixed(EditexpenseFixedFormViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var user = await _userManager.GetUserAsync(User); if (user.Id != viewModel.UserId || user == null) { return(RedirectToAction(nameof(Error), new { message = "Id não correspondendte" })); } try { var expense = await _expenseRepository.FindExpenseFixedByIdAsync(viewModel.Id); expense.CategoriaId = viewModel.CategoriaId; expense.Descricao = viewModel.Descricao; expense.UserId = viewModel.UserId; expense.User = user; expense.Valor = viewModel.Valor; await _expenseRepository.UpdateExpenseFixedAync(expense); return(RedirectToAction(nameof(ExpenseFixedIndex), new { id = user.Id })); } catch (ApplicationException e) { return(RedirectToAction(nameof(Error), new { message = e.Message })); } }