public async Task <IActionResult> Editar(int id, Vendedor vendedor)
        {
            if (!ModelState.IsValid)
            {
                var departamentos = await _servicoDepartamento.FindAllAsync();

                var viewModel = new ModeloFormularioVendedor {
                    Vendedor = vendedor, Departamentos = departamentos
                };
                return(View(viewModel));
            }
            if (id != vendedor.Id)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não incompativel" }));
            }
            try
            {
                await _vendedorServico.UpdateAsync(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 }));
            }
        }
        public async Task <IActionResult> Criar()
        {
            var departamentos = await _servicoDepartamento.FindAllAsync();

            var viewModel = new ModeloFormularioVendedor {
                Departamentos = departamentos
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Criar(Vendedor vendedor)
        {
            if (!ModelState.IsValid)
            {
                var departamentos = await _servicoDepartamento.FindAllAsync();

                var viewModel = new ModeloFormularioVendedor {
                    Vendedor = vendedor, Departamentos = departamentos
                };
                return(View(viewModel));
            }
            await _vendedorServico.InsertAsync(vendedor);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Editar(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não fornecido" }));
            }

            var obj = await _vendedorServico.FindByIdAsync(id.Value);

            if (obj == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não encontrado" }));
            }

            List <Departamento> departamentos = await _servicoDepartamento.FindAllAsync();

            ModeloFormularioVendedor viewModel = new ModeloFormularioVendedor {
                Vendedor = obj, Departamentos = departamentos
            };

            return(View(viewModel));
        }