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

                var viewModel = new VendedoresViewModel {
                    Vendedor = vendedor, Departamentos = _departamento
                };
                return(View(viewModel));
            }

            if (id != vendedor.VendedorID)
            {
                return(RedirectToAction(nameof(Error), new { message = "ID Não Corresponde!" }));
            }

            try
            {
                await servicos.UpdateAsync(vendedor);

                return(RedirectToAction(nameof(Index)));
            }
            catch (ApplicationException ex)
            {
                return(RedirectToAction(nameof(Error), new { message = ex.Message }));
            }
        }
        public async Task <IActionResult> Create()
        {
            var departament = await departamento.FindAllAsync();

            var viewModel = new VendedoresViewModel {
                Departamentos = departament
            };

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

                var viewModel = new VendedoresViewModel {
                    Vendedor = vendedor, Departamentos = _departamento
                };
                return(View(viewModel));
            }

            await servicos.InsertAsync(vendedor);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "ID Não Foi Fornecido!" }));
            }

            var x = await servicos.FindByIdAsync(id.Value);

            if (x == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "ID Não Encontrado!" }));
            }

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

            VendedoresViewModel viewModel = new VendedoresViewModel {
                Vendedor = x, Departamentos = departamentos
            };

            return(View(viewModel));
        }