public INVENTARIO_AMBIENTE ListarInventarioAmbientePorIdAmbiente(long idAmbiente)
 {
     using (var entities = new DB_LaborSafetyEntities())
     {
         INVENTARIO_AMBIENTE inventarioAmbiente = entities.INVENTARIO_AMBIENTE
                                                  .Where(invAmb => invAmb.CodAmbiente == idAmbiente && invAmb.Ativo).FirstOrDefault();
         return(inventarioAmbiente);
     }
 }
        public void DesativarInventario(long codInventarioExistente, DB_LaborSafetyEntities entities)
        {
            INVENTARIO_AMBIENTE inventarioAmbienteExistente =
                entities.INVENTARIO_AMBIENTE.Where(invAmb => invAmb.CodInventarioAmbiente == codInventarioExistente && invAmb.Ativo).FirstOrDefault();
            List <RISCO_INVENTARIO_AMBIENTE> riscoExistente =
                entities.RISCO_INVENTARIO_AMBIENTE.Where(risco => risco.CodInventarioAmbiente == codInventarioExistente && risco.Ativo).ToList();
            List <NR_INVENTARIO_AMBIENTE> nrExistente =
                entities.NR_INVENTARIO_AMBIENTE.Where(nr => nr.CodInventarioAmbiente == codInventarioExistente && nr.Ativo).ToList();
            List <LOCAL_INSTALACAO> localExistente =
                entities.LOCAL_INSTALACAO.Where(local => local.CodInventarioAmbiente == codInventarioExistente).ToList();

            try
            {
                if (entities == null)
                {
                    entities = new DB_LaborSafetyEntities();
                }

                if (inventarioAmbienteExistente == null)
                {
                    throw new Exception("Ocorreu um erro ao listar inventário de ambiente");
                }

                var inventarioPorApr = ListarCodAprPorInventario(codInventarioExistente, entities);

                if (inventarioPorApr > 0)
                {
                    InserirLocalInstalacaoHistorico(localExistente, inventarioPorApr, entities);
                }

                inventarioAmbienteExistente.Ativo = false;

                foreach (var item in riscoExistente)
                {
                    item.Ativo = false;
                }

                foreach (var item in nrExistente)
                {
                    item.Ativo = false;
                }

                foreach (var item in localExistente)
                {
                    item.CodInventarioAmbiente = (long)Constantes.LocalInstalacao.SEM_ASSOCIACAO;
                }

                entities.SaveChanges();
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
        public INVENTARIO_AMBIENTE ListarInventarioAmbienteAtivadoEDesativadoPorLI(long li, DB_LaborSafetyEntities entities = null)
        {
            if (entities == null)
            {
                entities = new DB_LaborSafetyEntities();
            }

            INVENTARIO_AMBIENTE inventarioAmbiente = entities.INVENTARIO_AMBIENTE
                                                     .Include(x => x.LOCAL_INSTALACAO)
                                                     .Include(x => x.RISCO_INVENTARIO_AMBIENTE)
                                                     .Include(x => x.NR_INVENTARIO_AMBIENTE)
                                                     .Where(x => x.LOCAL_INSTALACAO.Any(y => y.CodLocalInstalacao == li) &&
                                                            x.CodInventarioAmbiente != (long)Constantes.InventarioAmbiente.SEM_INVENTARIO).FirstOrDefault();

            return(inventarioAmbiente);
        }
        public INVENTARIO_AMBIENTE ListarInventarioAmbienteAtivadoEDesativadoPorId(long id, DB_LaborSafetyEntities entities = null)
        {
            if (entities == null)
            {
                entities = new DB_LaborSafetyEntities();
            }


            INVENTARIO_AMBIENTE inventarioAmbiente = 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 == id).FirstOrDefault();

            return(inventarioAmbiente);
        }
Пример #5
0
        private INVENTARIO_AMBIENTE InserirInventarioAmbienteComLocalInstalacao(InventarioAmbienteModelo inventarioAmbienteModelo, DB_LaborSafetyEntities entities)
        {
            List <NrInventarioAmbienteModelo>    nrs    = inventarioAmbienteModelo.NR_INVENTARIO_AMBIENTE;
            List <RiscoInventarioAmbienteModelo> riscos = inventarioAmbienteModelo.RISCO_INVENTARIO_AMBIENTE;

            try
            {
                if (inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO == null)
                {
                    throw new Exception("Local de instalação não informado!");
                }

                INVENTARIO_AMBIENTE inventario = new INVENTARIO_AMBIENTE();

                if (string.IsNullOrEmpty(inventarioAmbienteModelo.Codigo))
                {
                    inventario = new INVENTARIO_AMBIENTE()
                    {
                        Codigo          = "IMPORTACAO",
                        CodAmbiente     = inventarioAmbienteModelo.CodAmbiente,
                        Descricao       = inventarioAmbienteModelo.Descricao,
                        ObservacaoGeral = inventarioAmbienteModelo.ObservacaoGeral,
                        RiscoGeral      = inventarioAmbienteModelo.RiscoGeral,
                        DataAtualizacao = DateTime.Now,
                        Ativo           = true
                    };
                }
                else
                {
                    inventario = new INVENTARIO_AMBIENTE()
                    {
                        Codigo          = inventarioAmbienteModelo.Codigo,
                        CodAmbiente     = inventarioAmbienteModelo.CodAmbiente,
                        Descricao       = inventarioAmbienteModelo.Descricao,
                        ObservacaoGeral = inventarioAmbienteModelo.ObservacaoGeral,
                        RiscoGeral      = inventarioAmbienteModelo.RiscoGeral,
                        DataAtualizacao = DateTime.Now,
                        Ativo           = true
                    };
                }
                entities.INVENTARIO_AMBIENTE.Add(inventario);
                entities.SaveChanges();

                long idInv = inventario.CodInventarioAmbiente;

                inventario.Codigo = $"INV_AMB - {idInv}";
                entities.SaveChanges();

                if (nrs != null)
                {
                    foreach (var nr in nrs)
                    {
                        entities.NR_INVENTARIO_AMBIENTE.Add(new NR_INVENTARIO_AMBIENTE()
                        {
                            CodInventarioAmbiente = idInv,
                            CodNR = nr.CodNR,
                            Ativo = true
                        });
                    }

                    entities.SaveChanges();
                }

                if (riscos != null)
                {
                    foreach (var risco in riscos)
                    {
                        var novoRisco = new RISCO_INVENTARIO_AMBIENTE()
                        {
                            CodInventarioAmbiente   = idInv,
                            CodRiscoAmbiente        = risco.CodRiscoAmbiente,
                            CodSeveridade           = risco.CodSeveridade,
                            CodProbabilidade        = risco.CodProbabilidade,
                            FonteGeradora           = risco.FonteGeradora,
                            ProcedimentosAplicaveis = risco.ProcedimentosAplicaveis,
                            ContraMedidas           = risco.ContraMedidas,
                            Ativo = true
                        };
                        entities.RISCO_INVENTARIO_AMBIENTE.Add(novoRisco);
                        entities.SaveChanges();

                        if (risco.EPIRiscoInventarioAmbienteModelo.Count >= 0)
                        {
                            foreach (var epi in risco.EPIRiscoInventarioAmbienteModelo)
                            {
                                entities.EPI_RISCO_INVENTARIO_AMBIENTE.Add(new EPI_RISCO_INVENTARIO_AMBIENTE()
                                {
                                    CodRiscoInventarioAmbiente = novoRisco.CodRiscoInventarioAmbiente,
                                    CodEPI = epi.CodEPI
                                });
                            }
                        }
                        entities.SaveChanges();
                    }
                }

                entities.Configuration.AutoDetectChangesEnabled = true;

                if (inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO.Count == 0)
                {
                    throw new Exception("Existem inventários sem local de instalação a serem inseridos.");
                }

                foreach (var item in inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO)
                {
                    var localEnviado = entities.LOCAL_INSTALACAO.Where(x => x.CodLocalInstalacao == item.CodLocalInstalacao).FirstOrDefault();
                    localEnviado.CodInventarioAmbiente = idInv;
                }
                entities.SaveChanges();
                entities.Configuration.AutoDetectChangesEnabled = false;

                return(inventario);
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
        public INVENTARIO_AMBIENTE InserirPorEdicao(InventarioAmbienteModelo inventarioAmbienteModelo, DB_LaborSafetyEntities entities)
        {
            List <NrInventarioAmbienteModelo>    nrs    = inventarioAmbienteModelo.NR_INVENTARIO_AMBIENTE;
            List <RiscoInventarioAmbienteModelo> riscos = inventarioAmbienteModelo.RISCO_INVENTARIO_AMBIENTE;

            try
            {
                if (entities == null)
                {
                    entities = new DB_LaborSafetyEntities();
                }

                entities.Configuration.AutoDetectChangesEnabled = false;

                DesativarInventarioPorCodigo(inventarioAmbienteModelo.Codigo, entities);

                var inventario = new INVENTARIO_AMBIENTE()
                {
                    Codigo          = inventarioAmbienteModelo.Codigo,
                    CodAmbiente     = inventarioAmbienteModelo.CodAmbiente,
                    Descricao       = inventarioAmbienteModelo.Descricao,
                    ObservacaoGeral = inventarioAmbienteModelo.ObservacaoGeral,
                    RiscoGeral      = inventarioAmbienteModelo.RiscoGeral,
                    DataAtualizacao = DateTime.Now,
                    Ativo           = true
                };

                entities.INVENTARIO_AMBIENTE.Add(inventario);
                entities.SaveChanges();

                long idInv = inventario.CodInventarioAmbiente;

                if (nrs != null)
                {
                    foreach (var nr in nrs)
                    {
                        entities.NR_INVENTARIO_AMBIENTE.Add(new NR_INVENTARIO_AMBIENTE()
                        {
                            CodInventarioAmbiente = idInv,
                            CodNR = nr.CodNR,
                            Ativo = true
                        });
                    }

                    entities.SaveChanges();
                }

                if (riscos != null)
                {
                    foreach (var risco in riscos)
                    {
                        var novoRisco = new RISCO_INVENTARIO_AMBIENTE()
                        {
                            CodInventarioAmbiente   = idInv,
                            CodRiscoAmbiente        = risco.CodRiscoAmbiente,
                            CodSeveridade           = risco.CodSeveridade,
                            CodProbabilidade        = risco.CodProbabilidade,
                            FonteGeradora           = risco.FonteGeradora,
                            ProcedimentosAplicaveis = risco.ProcedimentosAplicaveis,
                            ContraMedidas           = risco.ContraMedidas,
                            Ativo = true
                        };
                        entities.RISCO_INVENTARIO_AMBIENTE.Add(novoRisco);
                        entities.SaveChanges();

                        if (risco.EPIRiscoInventarioAmbienteModelo.Count >= 0)
                        {
                            foreach (var epi in risco.EPIRiscoInventarioAmbienteModelo)
                            {
                                entities.EPI_RISCO_INVENTARIO_AMBIENTE.Add(new EPI_RISCO_INVENTARIO_AMBIENTE()
                                {
                                    CodRiscoInventarioAmbiente = novoRisco.CodRiscoInventarioAmbiente,
                                    CodEPI = epi.CodEPI
                                });
                            }
                        }
                        entities.SaveChanges();
                    }
                }

                if (inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO != null)
                {
                    foreach (var li in inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO)
                    {
                        var localEnviado = entities.LOCAL_INSTALACAO.Where(x => x.CodLocalInstalacao == li.CodLocalInstalacao).FirstOrDefault();
                        localEnviado.CodInventarioAmbiente = idInv;
                    }
                    entities.ChangeTracker.DetectChanges();
                    entities.SaveChanges();
                }

                return(inventario);
            }

            catch (Exception exception)
            {
                throw exception;
            }
            finally
            {
                entities.Configuration.AutoDetectChangesEnabled = true;
            }
        }