public ActionResult Create(ViewModelConfiguracao viewConfiguracao) { TempData["CreateSucesso"] = null; try { if (ModelState.IsValid) { var viewModelConfiguracao = _mapper.Map <ViewModelConfiguracao>(_config.ObterConfiguracao()); if (viewModelConfiguracao == null) { viewConfiguracao.ValidarDiaInicioFim(); viewConfiguracao.ValidarDatalimiteEntrePeriodo(); viewConfiguracao.ValidarFrequenciaSelecionada(); var codiviergencia = _mapper.Map <CodDivergenciaViewModel>(_prothuesService.ObterCodigoDivergenciaPorCodigo(viewConfiguracao.CodDivergencia)); codiv = new CodDivergenciaViewModel(); codiv.ValidaCodigoDivergencia(codiviergencia); codiv.codigo = codiviergencia.codigo; var configuracao = _mapper.Map <Configuracao>(viewConfiguracao); _config.SalvarConfiguracao(configuracao, User.GetDados("Filial")?.Split(',').First(), User.GetDados("Matricula")?.Split(',').First()); _config.SalvarTextoEmail(viewConfiguracao.TextoEmail); TempData["Configuracao"] = true; } else { TempData["Createfalse"] = "Já existe configuração cadastrada!"; } return(RedirectToAction("Index", "Configuracao")); } return(View(viewConfiguracao)); } catch (Exception e) { if (codiv.ValidaConfiguracaoExiste(e.Message) != null) { TempData["Createfalse"] = codiv.ValidaConfiguracaoExiste(e.Message); } else { TempData["Createfalse"] = e.Message; } return(View(viewConfiguracao)); } }
public ActionResult Create(ViewModelMacacao marcacao) { try { if (ModelState.IsValid) { Marcacao aberturaMarcacao = new Marcacao(); ViewModelLancamento lancamento = new ViewModelLancamento(); JornadaTrabalho jornada = new JornadaTrabalho(); CodDivergenciaViewModel codiv = new CodDivergenciaViewModel(); if (marcacao.DataDialancamento != null) { marcacao.DataDia = marcacao.DataDialancamento?.ToString("yyyy-MM-dd"); } string codigoAbertura = aberturaMarcacao.AbeturaExiste(_marcacao.ObterListMarcacaoPorMatUser(User.GetDados("Matricula")), marcacao.DataDia.ToDia(), marcacao.DataDia.ToAno()); string codJornadaTrabalho = jornada.ValidarJornadaTrabalhoExisteParaLancamento(_jornadaTrbServiceRepository.ObterListJornada(), marcacao.DataDia.ToDateProtheusReverse()); if (codigoAbertura == "0") { var configuracao = _configuracao.ObterConfiguracao(); marcacao.DataInicio = ObterPrimeiroDia(configuracao, marcacao); marcacao.DataFim = ObterDiaFim(configuracao, marcacao); marcacao.AnoMes = marcacao.DataDia.ToShortDateProtheus(); marcacao.MatUsuario = User.GetDados("Matricula"); marcacao.Filial = User.GetDados("Filial"); marcacao.Status = Constantes.ABERTO; marcacao.codigojornada = codJornadaTrabalho; _marcacao.SalvarMarcacao(_mapper.Map <Marcacao>(marcacao)); } 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); } lancamento = marcacao.Lancamento; lancamento.ValidaHorasLancamentoOutraMarcacao(_lancamentoerviceRepository.ObterLancamento(marcacao.DataDia.ToDateProtheus(), User.GetDados("Matricula"))); marcacao.Lancamento.Codigo = aberturaMarcacao.AbeturaExiste(_marcacao.ObterListMarcacaoPorMatUser(User.GetDados("Matricula")), marcacao.DataDia.ToDia(), marcacao.DataDia.ToAno()); 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.SalvarLancamento(_mapper.Map <Lancamento>(marcacao.Lancamento), User.GetDados("Filial"), marcacao.DataDia.ToDateProtheus()); } return(Json(new { sucesso = "Lançamento cadastrado com sucesso!" })); } return(Json(new { msg = string.Join("\n", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)), erro = true })); } catch (Exception e) { return(Json(new { msg = e.Message, erro = true })); } }