Example #1
0
        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));
        }
Example #2
0
        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 }));
            }
        }