public ActionResult Edit(ViewModelMacacao marcacao)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    ViewModelLancamento     lancamentoAliplication = new ViewModelLancamento();
                    Marcacao                aberturaMarcacao       = new Marcacao();
                    JornadaTrabalho         jornada = new JornadaTrabalho();
                    CodDivergenciaViewModel codiv   = new CodDivergenciaViewModel();

                    if (marcacao.Lancamento != null)
                    {
                        marcacao.Lancamento.ValidaHoraLancamento();
                        marcacao.Lancamento.Observacao = marcacao.Lancamento.Observacao.ReplaceSaveObservacaoProthues();
                        var codiviergencia = _prothuesService.ObterCodigoDivergenciaPorCodigo(Convert.ToString(marcacao.Lancamento.CodDivergencia));
                        if (marcacao.Lancamento.CodDivergencia != null && marcacao.Lancamento.CodDivergencia != 0)
                        {
                            codiv.ValidaCodigoDivergencia(codiviergencia);
                            codiv.ValidaCodigoDivergenciaConstante(codiviergencia.Constant, marcacao.Lancamento.CodDivergencia);
                        }
                        lancamentoAliplication = marcacao.Lancamento;
                        if (marcacao.DataDialancamento != null)
                        {
                            marcacao.DataDia = marcacao.DataDialancamento?.ToString("yyyy-MM-dd");
                        }
                        lancamentoAliplication.ValidaHorasLancamentoOutraMarcacao(_lancamentoerviceRepository.ObterLancamento(marcacao.DataDia.ToDateProtheus(), User.GetDados("Matricula")));
                        marcacao.Lancamento.codEmpredimento = marcacao.Lancamento.EmpreendimentoIds[0].Substring(0, marcacao.Lancamento.EmpreendimentoIds[0].IndexOf('-'));
                        marcacao.Lancamento.Fase            = marcacao.Lancamento.EmpreendimentoIds[0].Substring(marcacao.Lancamento.EmpreendimentoIds[0].IndexOf('-') + 1);
                        _lancamentoerviceRepository.AtualizarLancamento(_mapper.Map <Lancamento>(marcacao.Lancamento));
                    }


                    return(Json(new { sucesso = "Lançamento atualizado com sucesso!" }));
                }

                return(Json(new
                {
                    msg = string.Join("; ", ModelState.Values
                                      .SelectMany(x => x.Errors)
                                      .Select(x => x.ErrorMessage)),
                    erro = true
                }));
            }
            catch (Exception e)
            {
                return(Json(new { msg = e.Message, erro = true }));
            }
        }