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 })); } }