public void InserirRiscoInventarioAmbiente(RiscoInventarioAmbienteModelo riscoInventarioAmbienteModelo) { using (var entities = databaseEntities.GetDB_LaborSafetyEntities()) { using (var transaction = entities.Database.BeginTransaction()) { try { var inventario = new RISCO_INVENTARIO_AMBIENTE() { CodInventarioAmbiente = riscoInventarioAmbienteModelo.CodInventarioAmbiente, CodRiscoAmbiente = riscoInventarioAmbienteModelo.CodRiscoAmbiente, CodSeveridade = riscoInventarioAmbienteModelo.CodSeveridade, CodProbabilidade = riscoInventarioAmbienteModelo.CodProbabilidade, FonteGeradora = riscoInventarioAmbienteModelo.FonteGeradora, ProcedimentosAplicaveis = riscoInventarioAmbienteModelo.ProcedimentosAplicaveis, ContraMedidas = riscoInventarioAmbienteModelo.ContraMedidas, Ativo = true }; entities.RISCO_INVENTARIO_AMBIENTE.Add(inventario); entities.SaveChanges(); transaction.Commit(); } catch (Exception exception) { transaction.Rollback(); throw exception; } } } }
public IHttpActionResult Inserir([FromBody] RiscoInventarioAmbienteModelo riscoInventarioAmbienteModelo) { try { this.riscoInventarioAmbienteNegocio.InserirRiscoInventarioAmbiente(riscoInventarioAmbienteModelo); return(Ok(GeradorResponse.GenerateSuccessResponse((int)HttpStatusCode.OK, $"Inserção do risco de inventário de ambiente ocorrida com sucesso"))); } catch (InvalidOperationException exception) { throw new Exception(GeradorResponse.GenerateErrorResponseString((int)HttpStatusCode.BadRequest, "Risco do inventário de ambiente não encontrado.", exception), exception); } catch (Exception exception) { throw new Exception(GeradorResponse.GenerateErrorResponseString((int)HttpStatusCode.BadRequest, "Erro ao inserir risco do inventário de ambiente", exception), exception); } }
public Retorno EditarRascunhoInventarioAmbiente(RascunhoInventarioAmbienteModelo rascunhoInventarioAmbienteModelo) { Retorno retornoInsercao = new Retorno(); retornoInsercao.localModelo = new List <string>(); validadorRascunhoInventarioAmbiente.ValidaEdicao(rascunhoInventarioAmbienteModelo); List <LocalInstalacaoModelo> locaisInstalacaoOrigem = new List <LocalInstalacaoModelo>(); locaisInstalacaoOrigem.AddRange(rascunhoInventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO); List <LocalInstalacaoModelo> locaisInstalacaoAAssociar = new List <LocalInstalacaoModelo>(); long codInventarioAmbiente = (long)rascunhoInventarioAmbienteModelo.CodRascunhoInventarioAmbiente; using (var entities = new DB_APRPTEntities()) { using (var transaction = entities.Database.BeginTransaction(System.Data.IsolationLevel.Serializable)) { try { if (!rascunhoInventarioAmbienteModelo.novoInventario) { List <string> locaisAInserir = new List <string>(); foreach (var itemLi in rascunhoInventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO) { locaisAInserir.Add(itemLi.CodLocalInstalacao.ToString()); } rascunhoInventarioAmbienteModelo.CodLocalInstalacao = string.Join(",", locaisAInserir); } rascunhoInventarioAmbientePersistencia.EditarRascunhoInventarioAmbiente(rascunhoInventarioAmbienteModelo, entities, transaction); if (rascunhoInventarioAmbienteModelo.novoInventario) { InventarioAmbienteModelo inventarioAmbienteModelo = new InventarioAmbienteModelo(); inventarioAmbienteModelo.CodInventarioAmbiente = (long)rascunhoInventarioAmbienteModelo.CodRascunhoInventarioAmbiente; inventarioAmbienteModelo.Codigo = rascunhoInventarioAmbienteModelo.Codigo; inventarioAmbienteModelo.CodAmbiente = (long)rascunhoInventarioAmbienteModelo.CodAmbiente; inventarioAmbienteModelo.Descricao = rascunhoInventarioAmbienteModelo.Descricao; inventarioAmbienteModelo.ObservacaoGeral = rascunhoInventarioAmbienteModelo.ObservacaoGeral; inventarioAmbienteModelo.RiscoGeral = (int)rascunhoInventarioAmbienteModelo.RiscoGeral; inventarioAmbienteModelo.DataAtualizacao = DateTime.Now; inventarioAmbienteModelo.Ativo = true; List <RiscoInventarioAmbienteModelo> listaRisco = new List <RiscoInventarioAmbienteModelo>(); foreach (var itemRiscoRascunho in rascunhoInventarioAmbienteModelo.RISCO_RASCUNHO_INVENTARIO_AMBIENTE) { RiscoInventarioAmbienteModelo risco = new RiscoInventarioAmbienteModelo(); risco.Ativo = true; risco.CodInventarioAmbiente = itemRiscoRascunho.CodRascunhoInventarioAmbiente; risco.CodRiscoInventarioAmbiente = itemRiscoRascunho.CodRascunhoRiscoInventarioAmbiente; risco.CodRiscoAmbiente = itemRiscoRascunho.CodRiscoAmbiente; risco.CodSeveridade = itemRiscoRascunho.CodSeveridade; risco.CodProbabilidade = itemRiscoRascunho.CodProbabilidade; risco.FonteGeradora = itemRiscoRascunho.FonteGeradora; risco.ProcedimentosAplicaveis = itemRiscoRascunho.ProcedimentosAplicaveis; risco.ContraMedidas = itemRiscoRascunho.ContraMedidas; risco.EPIRiscoInventarioAmbienteModelo = new List <EPIRiscoInventarioAmbienteModelo>(); var listaEPI = itemRiscoRascunho.EPIRiscoRascunhoInventarioAmbiente .Where(a => a.CodRiscoRascunhoInventarioAmbiente == itemRiscoRascunho.CodRiscoAmbiente).ToList(); foreach (var itemListaEpi in listaEPI) { EPIRiscoInventarioAmbienteModelo epi = new EPIRiscoInventarioAmbienteModelo(); epi.CodEPI = itemListaEpi.CodEPI; epi.CodEpiRiscoInventarioAmbiente = itemListaEpi.CodEpiRiscoRascunhoInventarioAmbiente; epi.CodRiscoInventarioAmbiente = itemListaEpi.CodRiscoRascunhoInventarioAmbiente; risco.EPIRiscoInventarioAmbienteModelo.Add(epi); } listaRisco.Add(risco); } inventarioAmbienteModelo.RISCO_INVENTARIO_AMBIENTE = listaRisco; List <NrInventarioAmbienteModelo> listaNR = new List <NrInventarioAmbienteModelo>(); foreach (var itemNrRascunho in rascunhoInventarioAmbienteModelo.NR_RASCUNHO_INVENTARIO_AMBIENTE) { NrInventarioAmbienteModelo nr = new NrInventarioAmbienteModelo(); nr.CodNRInventarioAmbiente = itemNrRascunho.CodNrRascunhoInventarioAmbiente; nr.CodNR = itemNrRascunho.CodNR; nr.CodInventarioAmbiente = itemNrRascunho.CodRascunhoInventarioAmbiente; nr.Ativo = true; listaNR.Add(nr); } inventarioAmbienteModelo.NR_INVENTARIO_AMBIENTE = listaNR; //Limpa os locais que vieram rascunhoInventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO.Clear(); //List<LOCAL_INSTALACAO> locais = localInstalacaoPersistencia.ListarTodosLIs(entities); foreach (var local in locaisInstalacaoOrigem) { var codLocal = local.CodLocalInstalacao; var localEnviado = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(codLocal, entities); //Filtra somente os locais do pai List <LOCAL_INSTALACAO> locaisEFilhos = this.BuscaLocaisEFilhos(entities, localEnviado); //Busca todos os filhos que possuam o codInventarioAmbiente //List<LOCAL_INSTALACAO> locaisFilhos = rascunhoInventarioAmbientePersistencia.BuscaFilhosPorNivelDoInventario // (local.CodLocalInstalacao, codInventarioAmbiente, entities); foreach (var localAAssociar in locaisEFilhos) { LocalInstalacaoModelo localModelo = new LocalInstalacaoModelo(); localModelo.CodInventarioAmbiente = localAAssociar.CodInventarioAmbiente; localModelo.CodLocalInstalacao = localAAssociar.CodLocalInstalacao; localModelo.CodPerfilCatalogo = localAAssociar.CodPerfilCatalogo; localModelo.CodPeso = localAAssociar.CodPeso; localModelo.Descricao = localAAssociar.Descricao; localModelo.N1 = localAAssociar.N1; localModelo.N2 = localAAssociar.N2; localModelo.N3 = localAAssociar.N3; localModelo.N4 = localAAssociar.N4; localModelo.N5 = localAAssociar.N5; localModelo.N6 = localAAssociar.N6; localModelo.Nome = localAAssociar.Nome; locaisInstalacaoAAssociar.Add(localModelo); } } inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO = new List <LocalInstalacaoModelo>(); inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO.AddRange(locaisInstalacaoAAssociar); foreach (var item in inventarioAmbienteModelo.LOCAL_INSTALACAO_MODELO) { var li = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(item.CodLocalInstalacao); if (li.CodInventarioAmbiente != (long)Constantes.InventarioAmbiente.SEM_INVENTARIO) { retornoInsercao.status = false; retornoInsercao.localModelo.Add(li.Nome); throw new Exception($"O local de instalação {li.Nome} já possui um inventário de ambiente associado."); } } var resultadoInsercao = inventariosAmbiente.Inserir(inventarioAmbienteModelo, entities); inventarioAmbienteModelo.EightIDUsuarioModificador = rascunhoInventarioAmbienteModelo.EightIDUsuarioModificador; logInventarioAmbientePersistencia.Inserir(inventarioAmbienteModelo, resultadoInsercao.CodInventarioAmbiente, entities); } entities.SaveChanges(); transaction.Commit(); retornoInsercao.status = true; return(retornoInsercao); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public void InserirRiscoInventarioAmbiente(RiscoInventarioAmbienteModelo riscoInventarioAmbienteModelo) { validadorRiscoInventarioAmbiente.ValidaInsercao(riscoInventarioAmbienteModelo); this.riscoInventarioAmbientePersistencia.InserirRiscoInventarioAmbiente(riscoInventarioAmbienteModelo); }