Exemplo n.º 1
0
        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;
                    }
                }
            }
        }
Exemplo n.º 3
0
        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!");
            }
        }