Пример #1
0
 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 }));
            }
        }