public IActionResult Cadastro(CadastrarFuncionarioModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var funcionario = new Funcionario();

                    funcionario.Nome         = model.Nome;
                    funcionario.Salario      = model.Salario;
                    funcionario.DataAdmissao = model.DataAdmissao;
                    funcionario.Cargo        = model.Cargo;

                    var funcionarioRepository = new FuncionarioRepository();

                    funcionarioRepository.Inserir(funcionario);

                    TempData["Mensagem"] = "Funcionário cadastrado com sucesso!";

                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = "Ocorreu um erro: " + e.Message;
                }
            }
            return(View());
        }
        public ActionResult CadastrarFuncionarioComum(
            [FromServices] IFuncionario repositorio,
            [FromBody] CadastrarFuncionarioModel model)
        {
            var supervisor = repositorio.GetById(model.SupervisorId);

            var funcionario = new Funcionario()
            {
                Nome         = model.Nome,
                Cpf          = model.Cpf,
                Endereco     = model.Endereco,
                Cargo        = model.Cargo,
                CargaHoraria = model.CargaHoraria,
                DataAdmissao = model.DataAdmissao,
                Situacao     = model.Situacao,
                Supervisor   = supervisor,
            };

            repositorio.Add(funcionario);
            repositorio.SaveChanges();
            return(Ok("Funcionário adicionado com sucesso"));
        }