Beispiel #1
0
        public LOG_INVENTARIO_AMBIENTE Inserir(InventarioAmbienteModelo novoInventario, long codInventarioInserido,
                                               DB_LaborSafetyEntities entities = null)
        {
            if (entities == null)
            {
                entities = new DB_LaborSafetyEntities();
            }

            entities.Configuration.AutoDetectChangesEnabled = false;

            #region Insere os dados do log de inventário

            LOG_INVENTARIO_AMBIENTE logInventario = new LOG_INVENTARIO_AMBIENTE();

            logInventario.CodLogTipoOperacao    = (long)Constantes.TipoOperacaoLog.INSERCAO;
            logInventario.CodInventario         = codInventarioInserido;
            logInventario.CodUsuarioModificador = novoInventario.EightIDUsuarioModificador;
            logInventario.DataAlteracao         = DateTime.Now;

            entities.LOG_INVENTARIO_AMBIENTE.Add(logInventario);

            entities.ChangeTracker.DetectChanges();
            entities.SaveChanges();

            entities.Configuration.AutoDetectChangesEnabled = true;

            #endregion

            return(logInventario);
        }
Beispiel #2
0
        public LOG_INVENTARIO_AMBIENTE Excluir(InventarioAmbienteDelecaoComLogModelo inventarioAmbienteDelecaoComLogModelo, DB_LaborSafetyEntities entities = null)
        {
            if (entities == null)
            {
                entities = new DB_LaborSafetyEntities();
            }

            #region Insere os dados do log de inventário

            LOG_INVENTARIO_AMBIENTE logInventario = new LOG_INVENTARIO_AMBIENTE();

            logInventario.CodLogTipoOperacao    = (long)Constantes.TipoOperacaoLog.DELECAO;
            logInventario.CodInventario         = inventarioAmbienteDelecaoComLogModelo.CodInventarioAmbiente;
            logInventario.CodUsuarioModificador = inventarioAmbienteDelecaoComLogModelo.EightIDUsuarioModificador;
            logInventario.DataAlteracao         = DateTime.Now;

            entities.LOG_INVENTARIO_AMBIENTE.Add(logInventario);
            entities.SaveChanges();

            #endregion

            return(logInventario);
        }
Beispiel #3
0
        public LOG_INVENTARIO_AMBIENTE Editar(List <LOCAL_INSTALACAO> novosLIs, InventarioAmbienteModelo novoInventario,
                                              DB_LaborSafetyEntities entities = null)
        {
            if (entities == null)
            {
                entities = new DB_LaborSafetyEntities();
            }

            //Busca os dados do inventario antigo (anterior à edição)
            var inventarioAmbienteExistente = entities.INVENTARIO_AMBIENTE
                                              .Include(x => x.NR_INVENTARIO_AMBIENTE)
                                              .Include(x => x.RISCO_INVENTARIO_AMBIENTE)
                                              .Include(x => x.LOCAL_INSTALACAO)
                                              .Include(x => x.RISCO_INVENTARIO_AMBIENTE.Select(sev => sev.SEVERIDADE))
                                              .Include(x => x.RISCO_INVENTARIO_AMBIENTE.Select(prob => prob.PROBABILIDADE))
                                              .Include(x => x.RISCO_INVENTARIO_AMBIENTE.Select(risco => risco.RISCO))
                                              .Include(x => x.RISCO_INVENTARIO_AMBIENTE.Select(risco => risco.RISCO).Select(tpr => tpr.TIPO_RISCO))
                                              .Include(x => x.RISCO_INVENTARIO_AMBIENTE.Select(risco => risco.EPI_RISCO_INVENTARIO_AMBIENTE))
                                              .Where(invAmb => invAmb.CodInventarioAmbiente == novoInventario.CodInventarioAmbiente && invAmb.Ativo).FirstOrDefault();

            if (inventarioAmbienteExistente == null)
            {
                throw new Exception("Inventário não encontrado na base de dados");
            }

            //Verifica se já existe LOG
            var logExistente = entities.LOG_INVENTARIO_AMBIENTE.Where(x => x.CodInventario == novoInventario.CodInventarioAmbiente).FirstOrDefault();

            #region Insere os dados do log de inventário

            LOG_INVENTARIO_AMBIENTE logInventario = new LOG_INVENTARIO_AMBIENTE();

            logInventario.CodAmbienteAntigo = inventarioAmbienteExistente.CodAmbiente;
            logInventario.CodAmbienteNovo   = novoInventario.CodAmbiente;

            logInventario.CodLogTipoOperacao = (long)Constantes.TipoOperacaoLog.EDICAO;

            //Armazena os LI's antigos
            string codigoLIsAntigos = string.Empty;
            foreach (var li in inventarioAmbienteExistente.LOCAL_INSTALACAO)
            {
                codigoLIsAntigos += codigoLIsAntigos.Length == 0 ? li.CodLocalInstalacao.ToString() : "," + li.CodLocalInstalacao;
            }

            logInventario.CodigosLIsAntigos = codigoLIsAntigos;

            //Armazena os LI's novos
            string codigoLIsNovos = string.Empty;
            foreach (var li in novoInventario.LOCAL_INSTALACAO_MODELO)
            {
                codigoLIsNovos += codigoLIsNovos.Length == 0 ? li.CodLocalInstalacao.ToString() : "," + li.CodLocalInstalacao;
            }

            logInventario.CodigosLIsNovos = codigoLIsNovos;

            //Armazena as NR's antigas
            string codigoNRsAntigas = string.Empty;
            foreach (var nr in inventarioAmbienteExistente.NR_INVENTARIO_AMBIENTE)
            {
                codigoNRsAntigas += codigoNRsAntigas.Length == 0 ? nr.CodNR.ToString() : "," + nr.CodNR;
            }

            logInventario.CodigosNRsAntigas = codigoNRsAntigas;

            //Armazena as NR's novas
            string codigoNRsNovas = string.Empty;
            foreach (var nr in novoInventario.NR_INVENTARIO_AMBIENTE)
            {
                codigoNRsNovas += codigoNRsNovas.Length == 0 ? nr.CodNR.ToString() : "," + nr.CodNR;
            }

            logInventario.CodigosNRsNovas = codigoNRsNovas;

            var ultimoLog = entities.LOG_INVENTARIO_AMBIENTE.Where(x => x.CodInventario == novoInventario.CodInventarioAmbiente)
                            .OrderByDescending(u => u.CodInventariosAntigos).FirstOrDefault();

            if (ultimoLog == null)
            {
                logInventario.CodInventariosAntigos = $"{inventarioAmbienteExistente.CodInventarioAmbiente}";
            }

            else
            {
                if (string.IsNullOrEmpty(ultimoLog.CodInventariosAntigos))
                {
                    logInventario.CodInventariosAntigos = $"{inventarioAmbienteExistente.CodInventarioAmbiente}";
                }

                else
                {
                    logInventario.CodInventariosAntigos = $"{ultimoLog.CodInventariosAntigos},{inventarioAmbienteExistente.CodInventarioAmbiente}";
                }
            }

            logInventario.CodInventario         = novoInventario.CodInventarioAmbiente;
            logInventario.CodUsuarioModificador = novoInventario.EightIDUsuarioModificador;
            logInventario.DescricaoAntiga       = inventarioAmbienteExistente.Descricao;
            logInventario.DescricaoNova         = novoInventario.Descricao;
            logInventario.ObsGeralAntiga        = inventarioAmbienteExistente.ObservacaoGeral;
            logInventario.ObsGeralNova          = novoInventario.ObservacaoGeral;
            logInventario.RiscoGeralAntigo      = inventarioAmbienteExistente.RiscoGeral;
            logInventario.RiscoGeralNovo        = novoInventario.RiscoGeral;
            logInventario.DataAlteracao         = DateTime.Now;

            entities.LOG_INVENTARIO_AMBIENTE.Add(logInventario);
            entities.SaveChanges();

            #endregion

            #region Insere os dados do log de risco do inventário

            //Armazena os riscos
            List <LOG_RISCO_INVENTARIO_AMBIENTE> logRiscos = new List <LOG_RISCO_INVENTARIO_AMBIENTE>();

            foreach (var risco in inventarioAmbienteExistente.RISCO_INVENTARIO_AMBIENTE)
            {
                LOG_RISCO_INVENTARIO_AMBIENTE logRisco = new LOG_RISCO_INVENTARIO_AMBIENTE();
                string codigosEPIs = string.Empty;

                //Busca todos os EPI's
                if (risco.EPI_RISCO_INVENTARIO_AMBIENTE.Count > 0)
                {
                    foreach (var epi in risco.EPI_RISCO_INVENTARIO_AMBIENTE)
                    {
                        codigosEPIs += codigosEPIs.Length == 0 ? epi.CodEPI.ToString() : "," + epi.CodEPI;
                    }

                    logRisco.CodigosEPIs = codigosEPIs;
                }
                logRisco.CodProbabilidade        = risco.CodProbabilidade;
                logRisco.ProcedimentosAplicaveis = risco.ProcedimentosAplicaveis;
                logRisco.ContraMedidas           = risco.ContraMedidas;
                logRisco.FonteGeradora           = risco.FonteGeradora;
                logRisco.CodRisco      = risco.CodRiscoAmbiente;
                logRisco.CodSeveridade = risco.CodSeveridade;

                logRisco.CodLogInventarioAmbiente = logInventario.CodLogInventarioAmbiente;

                entities.LOG_RISCO_INVENTARIO_AMBIENTE.Add(logRisco);
                entities.SaveChanges();

                logRiscos.Add(logRisco);
            }

            logInventario.LOG_RISCO_INVENTARIO_AMBIENTE = logRiscos;
            entities.SaveChanges();

            #endregion

            return(logInventario);
        }