Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, Vendedor vendedor)
        {
            if (!ModelState.IsValid)
            {
                var departamentos = await _departamentoServico.FindAllAsync();

                var viewModel = new VendedorViewModel {
                    Vendedor = vendedor, Departamentos = departamentos
                };
                return(View(viewModel));
            }
            if (id != vendedor.Id)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não encontrada" }));
            }

            try
            {
                await _vendedorServico.AtualizarAsync(vendedor);

                return(RedirectToAction(nameof(Index)));
            }
            catch (NotFoundException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
            catch (DbConcurrencyException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Editar(int id, Vendedor vendedor)
        {
            //Testa se o usuario preencheu os campos corretamente
            if (!ModelState.IsValid)
            {
                var departamentos = await _departamentoServico.buscarTodosAsync();

                var viewModel = new VendedorViewModel {
                    Vendedor = vendedor, Departamentos = departamentos
                };
                return(View(viewModel));
            }

            if (id != vendedor.Id)
            {
                return(RedirectToAction(nameof(Erro), new { mensagem = "IDs não correspondem" }));
            }

            try {
                await _vendedorServico.AtualizarAsync(vendedor);

                return(RedirectToAction(nameof(Index)));
            }
            catch (ApplicationException e) {
                return(RedirectToAction(nameof(Erro), new { mensagem = e.Message }));
            }
        }