public ActionResult Editar(int Id)
        {
            using (var manterFuncionario = new ManterFuncionarios())
            {
                var funcionario = manterFuncionario.GetFuncionarioById(Id);
                var funcionarioModel = new FuncionarioModel()
                {
                    Bairro = funcionario.Bairro,
                    CEP = funcionario.CEP,
                    Cidade = funcionario.Cidade,
                    Complemento = funcionario.Complemento,
                    CPF = funcionario.CPF,
                    CTPS = funcionario.CTPS,
                    DataInicioTrabalho = funcionario.DataInicioTrabalho,
                    Email = funcionario.Email,
                    HorarioEntrada = funcionario.HorarioEntrada,
                    HorarioSaida = funcionario.HorarioSaida,
                    IdFuncionario = funcionario.IdFuncionario,
                    Logradouro = funcionario.Logradouro,
                    Nome = funcionario.Nome,
                    Numero = funcionario.Numero,
                    RemuneracaoAtual = funcionario.RemuneracaoAtual,
                    RG = funcionario.RG,
                    TelefoneCelular = funcionario.TelefoneCelular,
                    TelefoneFixo = funcionario.TelefoneFixo,
                    UF = funcionario.UF,
                    SituacaoAtual = new SituacaoFucionarioModel()
                    {
                        Descricao = Enum.GetName(typeof(SituacaoFuncionario), funcionario.SituacaoAtual),
                        IdSituacaoFuncionario = (int)funcionario.SituacaoAtual
                    },
                    PossuiAcessoSistema = manterFuncionario.GetUsuarioPorFuncionario(funcionario) != null,
                    Login = manterFuncionario.GetUsuarioPorFuncionario(funcionario) != null ? manterFuncionario.GetUsuarioPorFuncionario(funcionario).Login : string.Empty,
                    UsaSenhaDia = manterFuncionario.GetUsuarioPorFuncionario(funcionario) != null ? manterFuncionario.GetUsuarioPorFuncionario(funcionario).AutenticaSenhaDia : false,
                    IdPefil = manterFuncionario.GetUsuarioPorFuncionario(funcionario) != null ? manterFuncionario.GetPerfilByUsuario(manterFuncionario.GetUsuarioPorFuncionario(funcionario)).IdPerfil : 2
                };

                setViewData();

                return View(funcionarioModel);
            }
        }
        public JsonResult Editar(string strFuncionario)
        {
            var pFuncionario = JsonConvert.DeserializeObject<FuncionarioModel>(strFuncionario);

            try
            {
                using (var manterFuncionario = new ManterFuncionarios())
                {
                    var funcionario = manterFuncionario.GetFuncionarioById(pFuncionario.IdFuncionario);

                    funcionario.Bairro = pFuncionario.Bairro.ToUpper();
                    funcionario.CEP = pFuncionario.CEP;
                    funcionario.Cidade = pFuncionario.Cidade.ToUpper();
                    funcionario.Complemento = pFuncionario.Complemento.ToUpper();
                    funcionario.CPF = pFuncionario.CPF;
                    funcionario.CTPS = pFuncionario.CTPS;
                    funcionario.DataInicioTrabalho = pFuncionario.DataInicioTrabalho;
                    funcionario.Email = pFuncionario.Email;
                    funcionario.HorarioEntrada = pFuncionario.HorarioEntrada;
                    funcionario.HorarioSaida = pFuncionario.HorarioSaida;
                    funcionario.IdFuncionario = pFuncionario.IdFuncionario;
                    funcionario.Logradouro = pFuncionario.Logradouro.ToUpper();
                    funcionario.Nome = pFuncionario.Nome.ToUpper();
                    funcionario.Numero = pFuncionario.Numero;
                    funcionario.RemuneracaoAtual = pFuncionario.RemuneracaoAtual;
                    funcionario.RG = pFuncionario.RG;
                    funcionario.TelefoneCelular = pFuncionario.TelefoneCelular;
                    funcionario.TelefoneFixo = pFuncionario.TelefoneFixo;
                    funcionario.UF = pFuncionario.UF.ToUpper();
                    funcionario.SituacaoAtual = (SituacaoFuncionario)Enum.Parse(typeof(SituacaoFuncionario), pFuncionario.SituacaoAtual.IdSituacaoFuncionario.ToString());

                    manterFuncionario.AlterarFuncionario(funcionario);

                    AtualizarUsuarioFuncionario(funcionario, pFuncionario);

                    return Json(new
                    {
                        TipoMensagem = TipoMensagemRetorno.Ok,
                        Mensagem = "Funcionário Alterado com sucesso!",
                    }, "text/html", JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                return Json(new
                {
                    TipoMensagem = TipoMensagemRetorno.Erro,
                    Mensagem = ex.Message,
                }, "text/html", JsonRequestBehavior.AllowGet);
            }
        }