public IEnumerable <OperacaoAprModelo> ListarPorCodigos(List <long> codigos) { List <OperacaoAprModelo> operacoes = new List <OperacaoAprModelo>(); IEnumerable <OPERACAO_APR> op = this.operacaoAprPersistencia.PesquisarPorId(codigos); if (op == null) { throw new KeyNotFoundException("Operação não encontrada."); } foreach (OPERACAO_APR item in op) { operacoes.Add(MapeamentoOperacao(item)); } foreach (var item in operacoes) { var atividade = atividadePadraoPersistencia.ListarAtividadePorId((long)item.CodAtvPadrao); item.NomeAtvPadrao = atividade.Nome; var disciplina = disciplinaPersistencia.ListarDisciplinaPorId((long)item.CodDisciplina); item.NomeDisciplina = disciplina.Nome; var li = localInstalacaoPersistencia.ListarLocalInstalacaoPorId((long)item.CodLI); item.NomeLI = li.Nome; } return(operacoes); }
public void EditarInventarioAtividade(RascunhoInventarioAtividadeModelo rascunhoInventarioAtividadeModelo) { validadorRascunhoInventarioAtividade.ValidaEdicao(rascunhoInventarioAtividadeModelo); List <LOCAL_INSTALACAO> locaisInstalacao = new List <LOCAL_INSTALACAO>(); using (var entities = new DB_APRPTEntities()) { using (var transaction = entities.Database.BeginTransaction(System.Data.IsolationLevel.Serializable)) { try { //List<LOCAL_INSTALACAO> locais = localInstalacaoPersistencia.ListarTodosLIs(entities); for (int i = 0; i < rascunhoInventarioAtividadeModelo.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE.Count; i++) { var codigoLocal = rascunhoInventarioAtividadeModelo.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE[i].LocalInstalacao.CodLocalInstalacao; var localEnviado = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(codigoLocal, entities); //Filtra somente os locais do pai List <LOCAL_INSTALACAO> locaisEFilhos = this.BuscaLocaisEFilhos(entities, localEnviado); //List<LOCAL_INSTALACAO> locaisFilhos = // rascunhoInventarioAtividadePersistencia.BuscaFilhosPorNivel(codigoLocal, entities); locaisInstalacao.AddRange(locaisEFilhos); } this.rascunhoInventarioAtividadePersistencia.EditarRascunhoInventarioAtividade(rascunhoInventarioAtividadeModelo, entities, locaisInstalacao, transaction); if (rascunhoInventarioAtividadeModelo.novoInventario) { // inserir inventario de verdade InventarioAtividadeModelo inventarioAtividadeModelo = new InventarioAtividadeModelo(); inventarioAtividadeModelo.CodInventarioAtividade = rascunhoInventarioAtividadeModelo.CodRascunhoInventarioAtividade; inventarioAtividadeModelo.Codigo = rascunhoInventarioAtividadeModelo.Codigo; inventarioAtividadeModelo.CodPeso = (long)rascunhoInventarioAtividadeModelo.CodPeso; inventarioAtividadeModelo.CodPerfilCatalogo = (long)rascunhoInventarioAtividadeModelo.CodPerfilCatalogo; inventarioAtividadeModelo.CodDuracao = (long)rascunhoInventarioAtividadeModelo.CodDuracao; inventarioAtividadeModelo.CodAtividade = (long)rascunhoInventarioAtividadeModelo.CodAtividade; inventarioAtividadeModelo.CodDisciplina = (long)rascunhoInventarioAtividadeModelo.CodDisciplina; inventarioAtividadeModelo.Descricao = rascunhoInventarioAtividadeModelo.Descricao; inventarioAtividadeModelo.RiscoGeral = (int)rascunhoInventarioAtividadeModelo.RiscoGeral; inventarioAtividadeModelo.ObservacaoGeral = rascunhoInventarioAtividadeModelo.ObservacaoGeral; inventarioAtividadeModelo.DataAtualizacao = DateTime.Now; inventarioAtividadeModelo.Ativo = true; List <RiscoInventarioAtividadeModelo> listaRisco = new List <RiscoInventarioAtividadeModelo>(); foreach (var itemRiscoRascunho in rascunhoInventarioAtividadeModelo.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE) { RiscoInventarioAtividadeModelo risco = new RiscoInventarioAtividadeModelo(); risco.CodInventarioAtividade = itemRiscoRascunho.CodRascunhoInventarioAtividade; risco.Ativo = true; risco.CodRiscoInventarioAtividade = itemRiscoRascunho.CodRiscoRascunhoInventarioAtividade; risco.CodRisco = itemRiscoRascunho.CodRisco; risco.CodSeveridade = itemRiscoRascunho.CodSeveridade; risco.FonteGeradora = itemRiscoRascunho.FonteGeradora; risco.ProcedimentoAplicavel = itemRiscoRascunho.ProcedimentoAplicavel; risco.ContraMedidas = itemRiscoRascunho.ContraMedidas; risco.EPIRiscoInventarioAtividadeModelo = new List <EPIRiscoInventarioAtividadeModelo>(); var listaEPI = itemRiscoRascunho.EPIRiscoRascunhoInventarioAtividadeModelo .Where(a => a.CodRiscoRascunhoInventarioAtividade == itemRiscoRascunho.CodRisco).ToList(); foreach (var itemListaEpi in listaEPI) { EPIRiscoInventarioAtividadeModelo epi = new EPIRiscoInventarioAtividadeModelo(); epi.CodEPI = itemListaEpi.CodEPI; epi.CodEpiRiscoInventarioAtividade = itemListaEpi.CodEpiRiscoRascunhoInventarioAtividade; epi.CodRiscoInventarioAtividade = itemListaEpi.CodRiscoRascunhoInventarioAtividade; risco.EPIRiscoInventarioAtividadeModelo.Add(epi); } listaRisco.Add(risco); } inventarioAtividadeModelo.RISCO_INVENTARIO_ATIVIDADE = listaRisco; List <LOCAL_INSTALACAO> novosLocais = new List <LOCAL_INSTALACAO>(); foreach (var itemNovosLocais in rascunhoInventarioAtividadeModelo.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE) { var localInst = entities.LOCAL_INSTALACAO.Where(local => local.CodLocalInstalacao == itemNovosLocais.LocalInstalacao.CodLocalInstalacao).FirstOrDefault(); novosLocais.Add(localInst); } foreach (var itemLi in novosLocais) { var unicoInventario = inventarioAtividadePersistencia.ListarInventarioAtividadePorAtividadeDisciplinaLI(inventarioAtividadeModelo.CodAtividade, inventarioAtividadeModelo.CodDisciplina, itemLi.CodLocalInstalacao, entities); if (unicoInventario != null) { var atvPadrao = atividadePersistencia.ListarAtividadePorId(inventarioAtividadeModelo.CodAtividade); var disciplina = disciplinaPersistencia.ListarDisciplinaPorId(inventarioAtividadeModelo.CodDisciplina); throw new Exception($"Já existe um inventário de atividade com atividade padrão {atvPadrao.Nome}, disciplina {disciplina.Nome} e local de instalação {itemLi.Nome}"); } } var resultadoInsercao = inventarioAtividadePersistencia.Inserir(inventarioAtividadeModelo, entities, novosLocais); inventarioAtividadeModelo.EightIDUsuarioModificador = rascunhoInventarioAtividadeModelo.EightIDUsuarioModificador; logInventarioAtividadePersistencia.Inserir(inventarioAtividadeModelo, resultadoInsercao.CodInventarioAtividade, entities); } entities.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public void ExportarDadosAtividade(XLWorkbook wb, DadosExportacaoAtividadeModelo dados) { var folhaAtual = wb.Worksheets.Worksheet("InventarioAtividade"); int linha = 5; int linhaAPreencher = 5; if (!folhaAtual.Cell("B1").Value.ToString().Contains("Atividade")) { throw new Exception("É necessário realizar a exportação de um inventário de atividade com o nome da planilha escrita da seguinte forma: 'InventarioAtividade'"); } var resultadoInventario = inventariosAtividadePersistencia.ListarInventarioAtividadeExportacao(dados); if (resultadoInventario != null && resultadoInventario.Count > 0) { foreach (var item in resultadoInventario) { string locais = ""; var peso = pesoPersistencia.ListarPesoPorId(item.CodPeso); var perfil = perfilCatalogoPersistencia.ListarPerfilCatalogoPorId(item.CodPerfilCatalogo); var duracao = duracaoPersistencia.ListarDuracaoPorId(item.CodDuracao); var atividade = atividadePersistencia.ListarAtividadePorId(item.CodAtividade); var disciplina = disciplinaPersistencia.ListarDisciplinaPorId(item.CodDisciplina); folhaAtual.Cell($"B{linha}").Value = item.Codigo; folhaAtual.Cell($"C{linha}").Value = disciplina.Nome; folhaAtual.Cell($"D{linha}").Value = atividade.Nome; folhaAtual.Cell($"E{linha}").Value = perfil.Codigo; folhaAtual.Cell($"F{linha}").Value = item.RiscoGeral; folhaAtual.Cell($"H{linha}").Value = peso.Nome; folhaAtual.Cell($"I{linha}").Value = duracao.Nome; folhaAtual.Cell($"J{linha}").Value = item.Descricao; folhaAtual.Cell($"K{linha}").Value = item.ObservacaoGeral; var itemLocal = localInstalacaoPersistencia.ListarLocaisInstalacaoPorCodInventarioAtividade(item.CodInventarioAtividade); if (itemLocal.Count <= 0) { throw new Exception($"O inventário de atividade de código {item.Codigo} não possui local de instalação."); } // PREENCHIMENTO LOCAL INSTALAÇÃO foreach (var itemLocalAtividade in itemLocal) { var localInstalacao = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(itemLocalAtividade.CodLocalInstalacao); locais += $"{localInstalacao.Nome};"; } var tamanhoLocal = locais.Length; var nomeLocaisCorrigido = locais.Substring(0, tamanhoLocal - 1); PreencherLocalInstalacao(folhaAtual, nomeLocaisCorrigido, linhaAPreencher); locais = ""; // PREENCHIMENTO RISCOS if (item.RISCO_INVENTARIO_ATIVIDADE.Count <= 0) { throw new Exception($"O inventário de atividade de código {item.Codigo} não possui riscos associados."); } IXLCell celulaAtual = folhaAtual.Cell($"M{linhaAPreencher}"); foreach (var itemRisco in item.RISCO_INVENTARIO_ATIVIDADE) { celulaAtual = PreencherRiscosAtividade(folhaAtual, itemRisco, celulaAtual); } linhaAPreencher++; linha++; } folhaAtual.Style.Font.FontName = "Arial"; folhaAtual.Style.Font.FontSize = 8; folhaAtual.Style.Font.FontColor = XLColor.Black; } else { throw new Exception("Não há inventário(s) com os filtros informados!"); } }