public void EditarRascunhoInventarioAmbiente(RascunhoInventarioAmbienteModelo rascunhoInventarioAmbienteModelo, DB_LaborSafetyEntities entities, DbContextTransaction transaction) { RASCUNHO_INVENTARIO_AMBIENTE rascunhoInventarioAmbienteExistente = entities.RASCUNHO_INVENTARIO_AMBIENTE.Where(invAtv => invAtv.CodRascunhoInventarioAmbiente == rascunhoInventarioAmbienteModelo.CodRascunhoInventarioAmbiente).FirstOrDefault(); if (rascunhoInventarioAmbienteExistente == null) { throw new KeyNotFoundException(); } else { try { if (!rascunhoInventarioAmbienteModelo.novoInventario) { ExcluirRascunhoInventarioAmbiente(rascunhoInventarioAmbienteExistente.CodRascunhoInventarioAmbiente, entities); Inserir(rascunhoInventarioAmbienteModelo, entities); //transaction.Commit(); } else { ExcluirRascunhoInventarioAmbiente(rascunhoInventarioAmbienteExistente.CodRascunhoInventarioAmbiente, entities); } } catch (Exception) { transaction.Rollback(); throw; } } }
public RASCUNHO_INVENTARIO_AMBIENTE ListarRascunhoInventarioAmbientePorLI(long li) { using (var entities = new DB_LaborSafetyEntities()) { RASCUNHO_INVENTARIO_AMBIENTE rascunhoInventarioAmbiente = entities.RASCUNHO_INVENTARIO_AMBIENTE .Include(x => x.RISCO_RASCUNHO_INVENTARIO_AMBIENTE) .Include(x => x.NR_RASCUNHO_INVENTARIO_AMBIENTE).FirstOrDefault(); //.Where(x => x.CodLocalInstalacao == li.ToString()).FirstOrDefault(); return(rascunhoInventarioAmbiente); } }
public RASCUNHO_INVENTARIO_AMBIENTE ListarRascunhoInventarioAmbientePorId(long id) { using (var entities = new DB_LaborSafetyEntities()) { RASCUNHO_INVENTARIO_AMBIENTE inventarioAmbiente = entities.RASCUNHO_INVENTARIO_AMBIENTE .Include(x => x.NR_RASCUNHO_INVENTARIO_AMBIENTE) .Include(x => x.RISCO_RASCUNHO_INVENTARIO_AMBIENTE) .Include(x => x.RISCO_RASCUNHO_INVENTARIO_AMBIENTE.Select(risco => risco.RISCO).Select(tpr => tpr.TIPO_RISCO)) .Include(x => x.RISCO_RASCUNHO_INVENTARIO_AMBIENTE.Select(risco => risco.EPI_RISCO_RASCUNHO_INVENTARIO_AMBIENTE)) .Where(invAmb => invAmb.CodRascunhoInventarioAmbiente == id).FirstOrDefault(); return(inventarioAmbiente); } }
public RascunhoInventarioAmbienteModelo ListarRascunhoInventarioAmbientePorLI(long li) { RASCUNHO_INVENTARIO_AMBIENTE inv = this.rascunhoInventarioAmbientePersistencia.ListarRascunhoInventarioAmbientePorLI(li); if (inv == null) { throw new KeyNotFoundException("Rascunho de inventário de ambiente não encontrado."); } var locaisPorVirgula = inv.CodLocalInstalacao.Split(','); List <LOCAL_INSTALACAO> listaLocais = new List <LOCAL_INSTALACAO>(); foreach (var item in locaisPorVirgula) { var local = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(Convert.ToInt64(item)); listaLocais.Add(local); } return(MapeamentoRascunhoInventarioAmbiente(inv, listaLocais)); }
// insert inventario ambiente public RASCUNHO_INVENTARIO_AMBIENTE Inserir(RascunhoInventarioAmbienteModelo rascunhoInventarioAmbienteModelo, DB_LaborSafetyEntities entities) { List <NrRascunhoInventarioAmbienteModelo> nrs = rascunhoInventarioAmbienteModelo.NR_RASCUNHO_INVENTARIO_AMBIENTE; List <RiscoRascunhoInventarioAmbienteModelo> riscos = rascunhoInventarioAmbienteModelo.RISCO_RASCUNHO_INVENTARIO_AMBIENTE; List <LocalInstalacaoModelo> locais = rascunhoInventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO; entities.Configuration.AutoDetectChangesEnabled = false; try { var inventario = new RASCUNHO_INVENTARIO_AMBIENTE() { Codigo = $"R_INV_AMB - {rascunhoInventarioAmbienteModelo.CodRascunhoInventarioAmbiente} - {rascunhoInventarioAmbienteModelo.RiscoGeral}", CodAmbiente = rascunhoInventarioAmbienteModelo.CodAmbiente, Descricao = rascunhoInventarioAmbienteModelo.Descricao, ObservacaoGeral = rascunhoInventarioAmbienteModelo.ObservacaoGeral, RiscoGeral = rascunhoInventarioAmbienteModelo.RiscoGeral, CodLocalInstalacao = rascunhoInventarioAmbienteModelo.CodLocalInstalacao }; entities.RASCUNHO_INVENTARIO_AMBIENTE.Add(inventario); entities.SaveChanges(); long idInv = inventario.CodRascunhoInventarioAmbiente; if (nrs != null) { foreach (var nr in nrs) { entities.NR_RASCUNHO_INVENTARIO_AMBIENTE.Add(new NR_RASCUNHO_INVENTARIO_AMBIENTE() { CodRascunhoInventarioAmbiente = idInv, CodNR = nr.CodNR }); } entities.SaveChanges(); } if (riscos != null) { foreach (var risco in riscos) { var novoRisco = new RISCO_RASCUNHO_INVENTARIO_AMBIENTE() { CodRascunhoInventarioAmbiente = idInv, CodRisco = risco.CodRiscoAmbiente, CodSeveridade = risco.CodSeveridade, CodProbabilidade = risco.CodProbabilidade, FonteGeradora = risco.FonteGeradora, ProcedimentosAplicaveis = risco.ProcedimentosAplicaveis, ContraMedidas = risco.ContraMedidas }; entities.RISCO_RASCUNHO_INVENTARIO_AMBIENTE.Add(novoRisco); entities.SaveChanges(); if (risco.EPIRiscoRascunhoInventarioAmbiente.Count >= 0) { foreach (var epi in risco.EPIRiscoRascunhoInventarioAmbiente) { entities.EPI_RISCO_RASCUNHO_INVENTARIO_AMBIENTE.Add(new EPI_RISCO_RASCUNHO_INVENTARIO_AMBIENTE() { CodRiscoRascunhoInventarioAmbiente = novoRisco.CodRiscoRascunhoInventarioAmbiente, CodEPI = epi.CodEPI }); } } } entities.ChangeTracker.DetectChanges(); entities.SaveChanges(); entities.Configuration.AutoDetectChangesEnabled = true; } return(inventario); } catch (Exception exception) { throw exception; } }
public RascunhoInventarioAmbienteModelo MapeamentoRascunhoInventarioAmbiente(RASCUNHO_INVENTARIO_AMBIENTE inventario, List <LOCAL_INSTALACAO> locais) { RascunhoInventarioAmbienteModelo inventarioAmb = new RascunhoInventarioAmbienteModelo() { CodRascunhoInventarioAmbiente = inventario.CodRascunhoInventarioAmbiente, Codigo = inventario.Codigo, CodAmbiente = inventario.CodAmbiente, Descricao = inventario.Descricao, ObservacaoGeral = inventario.ObservacaoGeral, RiscoGeral = inventario.RiscoGeral, CodLocalInstalacao = inventario.CodLocalInstalacao }; inventarioAmb.NR_RASCUNHO_INVENTARIO_AMBIENTE = new List <NrRascunhoInventarioAmbienteModelo>(); inventarioAmb.RISCO_RASCUNHO_INVENTARIO_AMBIENTE = new List <RiscoRascunhoInventarioAmbienteModelo>(); inventarioAmb.LOCAL_INSTALACAO_MODELO = new List <LocalInstalacaoModelo>(); Mapper.Map(inventario.NR_RASCUNHO_INVENTARIO_AMBIENTE, inventarioAmb.NR_RASCUNHO_INVENTARIO_AMBIENTE); Mapper.Map(inventario.RISCO_RASCUNHO_INVENTARIO_AMBIENTE, inventarioAmb.RISCO_RASCUNHO_INVENTARIO_AMBIENTE); List <RiscoRascunhoInventarioAmbienteModelo> listaRisco = new List <RiscoRascunhoInventarioAmbienteModelo>(); foreach (var itemRisco in inventario.RISCO_RASCUNHO_INVENTARIO_AMBIENTE) { RiscoRascunhoInventarioAmbienteModelo risco = new RiscoRascunhoInventarioAmbienteModelo(); risco.Ativo = true; risco.CodRascunhoInventarioAmbiente = itemRisco.CodRascunhoInventarioAmbiente; risco.CodProbabilidade = itemRisco.CodProbabilidade; risco.CodRiscoAmbiente = itemRisco.CodRisco; risco.CodRascunhoRiscoInventarioAmbiente = itemRisco.CodRiscoRascunhoInventarioAmbiente; risco.CodSeveridade = itemRisco.CodSeveridade; risco.ContraMedidas = itemRisco.ContraMedidas; risco.FonteGeradora = itemRisco.FonteGeradora; risco.ProcedimentosAplicaveis = itemRisco.ProcedimentosAplicaveis; risco.EPIRiscoRascunhoInventarioAmbiente = new List <EPIRiscoRascunhoInventarioAmbienteModelo>(); var listaEPI = itemRisco.EPI_RISCO_RASCUNHO_INVENTARIO_AMBIENTE .Where(a => a.CodRiscoRascunhoInventarioAmbiente == itemRisco.CodRiscoRascunhoInventarioAmbiente).ToList(); Mapper.Map(listaEPI, risco.EPIRiscoRascunhoInventarioAmbiente); listaRisco.Add(risco); } inventarioAmb.RISCO_RASCUNHO_INVENTARIO_AMBIENTE = listaRisco; if (locais != null) { foreach (var itemLi in locais) { LocalInstalacaoModelo li = new LocalInstalacaoModelo(); li.CodLocalInstalacao = itemLi.CodLocalInstalacao; li.CodInventarioAmbiente = itemLi.CodInventarioAmbiente; li.CodPeso = itemLi.CodPeso; li.CodPerfilCatalogo = itemLi.CodPerfilCatalogo; li.N1 = itemLi.N1; li.N2 = itemLi.N2; li.N3 = itemLi.N3; li.N4 = itemLi.N4; li.N5 = itemLi.N5; li.N6 = itemLi.N6; li.Nome = itemLi.Nome; li.Descricao = itemLi.Descricao; inventarioAmb.LOCAL_INSTALACAO_MODELO.Add(li); } } return(inventarioAmb); }
public RetornoInsercao InserirRascunhoInventarioAmbiente(RascunhoInventarioAmbienteModelo rascunhoInventarioAmbienteModelo) { RetornoInsercao retornoInsercao = new RetornoInsercao(); retornoInsercao.localModelo = new List <string>(); validadorRascunhoInventarioAmbiente.ValidaInsercao(rascunhoInventarioAmbienteModelo); List <LocalInstalacaoModelo> locaisInstalacao = rascunhoInventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO; using (var entities = new DB_APRPTEntities()) { using (var transaction = entities.Database.BeginTransaction(System.Data.IsolationLevel.Serializable)) { try { //Limpa os locais do inventário de modelo rascunhoInventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO = null; List <LOCAL_INSTALACAO> locaisComInventarios = new List <LOCAL_INSTALACAO>(); //List<LOCAL_INSTALACAO> locais = localInstalacaoPersistencia.ListarTodosLIs(entities); List <string> locaisAInserir = new List <string>(); for (int i = 0; i < locaisInstalacao.Count; i++) { var codLocal = locaisInstalacao[i].CodLocalInstalacao; var localEnviado = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(codLocal, entities); //Filtra somente os locais do pai List <LOCAL_INSTALACAO> locaisEFilhos = this.BuscaLocaisEFilhos(entities, localEnviado); //List<LOCAL_INSTALACAO> locaisFilhos = // rascunhoInventarioAmbientePersistencia.BuscaFilhosPorNivelExcetoInventario(codLocal, entities); foreach (var local in locaisEFilhos) { locaisAInserir.Add(local.CodLocalInstalacao.ToString()); } } var locaisAInserirDistinct = locaisAInserir.Distinct(); rascunhoInventarioAmbienteModelo.CodLocalInstalacao = string.Join(",", locaisAInserirDistinct); RASCUNHO_INVENTARIO_AMBIENTE inventario = rascunhoInventarioAmbientePersistencia.Inserir(rascunhoInventarioAmbienteModelo, entities); entities.SaveChanges(); transaction.Commit(); retornoInsercao.status = true; return(retornoInsercao); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public RascunhoInventarioAmbienteModelo ListarRascunhoInventarioAmbientePorId(long id) { RASCUNHO_INVENTARIO_AMBIENTE inv = this.rascunhoInventarioAmbientePersistencia.ListarRascunhoInventarioAmbientePorId(id); if (inv == null) { throw new KeyNotFoundException("Rascunho de inventário de ambiente não encontrado."); } var locaisPorVirgula = inv.CodLocalInstalacao.Split(','); List <LOCAL_INSTALACAO> listaLocais = new List <LOCAL_INSTALACAO>(); if (!string.IsNullOrEmpty(inv.CodLocalInstalacao)) { foreach (var item in locaisPorVirgula) { var local = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(Convert.ToInt64(item)); listaLocais.Add(local); } } if (listaLocais.Count > 0) { foreach (var itemLi in listaLocais) { string n2 = "", n3 = "", n4 = "", n5 = "", n6 = ""; if (!string.IsNullOrEmpty(itemLi.N2)) { n2 = itemLi.N2; } if (!string.IsNullOrEmpty(itemLi.N3)) { n3 = itemLi.N3; } if (!string.IsNullOrEmpty(itemLi.N4)) { n4 = itemLi.N4; } if (!string.IsNullOrEmpty(itemLi.N5)) { n5 = itemLi.N5; } if (!string.IsNullOrEmpty(itemLi.N6)) { n6 = itemLi.N6; } if (n2.Contains("000_BASE") || n3.Contains("000_BASE") || n4.Contains("000_BASE") || n5.Contains("000_BASE") || n6.Contains("000_BASE")) { var nomeSeparado = itemLi.Nome.Split(' '); var nomeCompleto = itemLi.Nome.Replace(nomeSeparado[0], nomeSeparado[0] + "-000_BASE"); itemLi.Nome = nomeCompleto; } } } return(MapeamentoRascunhoInventarioAmbiente(inv, listaLocais)); }