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