public IActionResult Edicao(CargoEdicaoModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var cargo = new Cargo();
                    cargo.IdCargo   = model.IdCargo;
                    cargo.Nome      = model.Nome;
                    cargo.Descricao = model.Descricao;

                    var repository = new CargoRepository();
                    repository.Alterar(cargo);

                    TempData["Mensagem"] = "Cargo atualizado com sucesso.";
                    return(RedirectToAction("Consulta"));
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = e.Message;
                }
            }

            return(View());
        }
        public IActionResult Edicao(int id)
        {
            var model = new CargoEdicaoModel();

            try
            {
                var repository = new CargoRepository();
                var cargo      = repository.ObterPorId(id);

                model.IdCargo   = cargo.IdCargo;
                model.Nome      = cargo.Nome;
                model.Descricao = cargo.Descricao;
            }
            catch (Exception e)
            {
                TempData["Mensagem"] = e.Message;
            }

            return(View(model));
        }
        public IActionResult Put(CargoEdicaoModel model,
                                 [FromServices] ICargoRepository repository,
                                 [FromServices] IMapper mapper)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var cargo = mapper.Map <Cargo>(model);
                    repository.Atualizar(cargo);

                    return(Ok("Cargo atualizado com sucesso."));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, e.Message));
                }
            }
            else
            {
                return(BadRequest());
            }
        }