public LocalInstalacaoModelo MapeamentoLocalInstalacao(LOCAL_INSTALACAO sistema)
        {
            LocalInstalacaoModelo LocalInstalacao = new LocalInstalacaoModelo()
            {
                CodLocalInstalacao    = sistema.CodLocalInstalacao,
                CodInventarioAmbiente = sistema.CodInventarioAmbiente,
                CodPeso           = sistema.CodPeso,
                CodPerfilCatalogo = sistema.CodPerfilCatalogo,
                N1        = sistema.N1,
                N2        = sistema.N2,
                N3        = sistema.N3,
                N4        = sistema.N4,
                N5        = sistema.N5,
                N6        = sistema.N6,
                Nome      = sistema.Nome,
                Descricao = sistema.Descricao
            };

            return(LocalInstalacao);
        }
Exemple #2
0
        public List <LocalInstalacaoModelo> ListarLIPorNivelModelo(LocalInstalacaoFiltroModelo filtro)
        {
            var locais = this.ListarLIPorNivel(filtro);

            using (var entities = new DB_LaborSafetyEntities())
            {
                List <LocalInstalacaoModelo> locaisResult = new List <LocalInstalacaoModelo>();

                //Associa os inventarios de Atividade, se houver
                foreach (var local in locais)
                {
                    LocalInstalacaoModelo modelo = new LocalInstalacaoModelo();

                    modelo.CodInventarioAmbiente = local.CodInventarioAmbiente;
                    modelo.CodLocalInstalacao    = local.CodLocalInstalacao;
                    modelo.CodPerfilCatalogo     = local.CodPerfilCatalogo;
                    modelo.CodPeso   = local.CodPeso;
                    modelo.Descricao = local.Descricao;
                    modelo.Nome      = local.Nome;
                    modelo.N1        = local.N1;
                    modelo.N2        = local.N2;
                    modelo.N3        = local.N3;
                    modelo.N4        = local.N4;
                    modelo.N5        = local.N5;
                    modelo.N6        = local.N6;

                    var inventariosAtividade = entities.LOCAL_INSTALACAO_INVENTARIO_ATIVIDADE.Where(x => x.CodLocalInstalacao == local.CodLocalInstalacao &&
                                                                                                    x.CodLocalInstalacao != (long)Constantes.LocalInstalacao.SEM_ASSOCIACAO)
                                               .Select(x => x.CodInventarioAtividade).ToList();

                    if (inventariosAtividade.Count > 0)
                    {
                        modelo.InventariosAtividade = inventariosAtividade;
                    }

                    locaisResult.Add(modelo);
                }

                return(locaisResult);
            }
        }
        public RascunhoInventarioAtividadeModelo MapeamentoRascunhoInventarioAtividade(RASCUNHO_INVENTARIO_ATIVIDADE inventario)
        {
            RascunhoInventarioAtividadeModelo inventarioAtv = new RascunhoInventarioAtividadeModelo()
            {
                CodRascunhoInventarioAtividade = inventario.CodRascunhoInventarioAtividade,
                Codigo            = inventario.Codigo,
                CodPeso           = inventario.CodPeso,
                CodPerfilCatalogo = inventario.CodPerfilCatalogo,
                CodDuracao        = inventario.CodDuracao,
                CodAtividade      = inventario.CodAtividade,
                CodDisciplina     = inventario.CodDisciplina,
                Descricao         = inventario.Descricao,
                RiscoGeral        = inventario.RiscoGeral,
                ObservacaoGeral   = inventario.ObservacaoGeral
            };

            inventarioAtv.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE            = new List <RiscoRascunhoInventarioAtividadeModelo>();
            inventarioAtv.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE = new List <LocalInstalacaoRascunhoInventarioAtividadeModelo>();

            Mapper.Map(inventario.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE, inventarioAtv.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE);

            for (int i = 0; i < inventario.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE.Count; i++)
            {
                var liInventario    = inventario.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE.ElementAt(i);
                var localInstalacao = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(liInventario.CodLocalInstalacao);
                liInventario.LOCAL_INSTALACAO = localInstalacao;

                LocalInstalacaoRascunhoInventarioAtividadeModelo modeloLIInv = new LocalInstalacaoRascunhoInventarioAtividadeModelo();
                modeloLIInv.CodRascunhoInventarioAtividade = liInventario.CodRascunhoInventarioAtividade;
                modeloLIInv.CodLocalInstalacao             = liInventario.CodLocalInstalacao;
                modeloLIInv.CodLocalInstalacaoRascunhoInventarioAtividade = liInventario.CodLocalInstalacaoRascunhoInventarioAtividade;

                LocalInstalacaoModelo modeloLI = new LocalInstalacaoModelo();
                modeloLI.CodInventarioAmbiente = liInventario.LOCAL_INSTALACAO.CodInventarioAmbiente;
                modeloLI.CodLocalInstalacao    = liInventario.LOCAL_INSTALACAO.CodLocalInstalacao;
                modeloLI.CodPerfilCatalogo     = liInventario.LOCAL_INSTALACAO.CodPerfilCatalogo;
                modeloLI.CodPeso   = liInventario.LOCAL_INSTALACAO.CodPeso;
                modeloLI.Descricao = liInventario.LOCAL_INSTALACAO.Descricao;
                modeloLI.N1        = liInventario.LOCAL_INSTALACAO.N1;
                modeloLI.N2        = liInventario.LOCAL_INSTALACAO.N2;
                modeloLI.N3        = liInventario.LOCAL_INSTALACAO.N3;
                modeloLI.N4        = liInventario.LOCAL_INSTALACAO.N4;
                modeloLI.N5        = liInventario.LOCAL_INSTALACAO.N5;
                modeloLI.N6        = liInventario.LOCAL_INSTALACAO.N6;
                modeloLI.Nome      = liInventario.LOCAL_INSTALACAO.Nome;

                var local = localInstalacaoPersistencia.ListarLocalInstalacaoPorId(modeloLI.CodLocalInstalacao);

                string n2 = "", n3 = "", n4 = "", n5 = "", n6 = "";

                if (!string.IsNullOrEmpty(local.N2))
                {
                    n2 = local.N2;
                }

                if (!string.IsNullOrEmpty(local.N3))
                {
                    n3 = local.N3;
                }

                if (!string.IsNullOrEmpty(local.N4))
                {
                    n4 = local.N4;
                }

                if (!string.IsNullOrEmpty(local.N5))
                {
                    n5 = local.N5;
                }

                if (!string.IsNullOrEmpty(local.N6))
                {
                    n6 = local.N6;
                }

                if (n2.Contains("000_BASE") || n3.Contains("000_BASE") || n4.Contains("000_BASE") || n5.Contains("000_BASE") || n6.Contains("000_BASE"))
                {
                    var nomeSeparado = local.Nome.Split(' ');
                    var nomeCompleto = local.Nome.Replace(nomeSeparado[0], nomeSeparado[0] + "-000_BASE");
                    modeloLI.Nome = nomeCompleto;
                }

                modeloLIInv.LocalInstalacao = modeloLI;

                inventarioAtv.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE.Add(modeloLIInv);
            }

            List <RiscoRascunhoInventarioAtividadeModelo> listaRisco = new List <RiscoRascunhoInventarioAtividadeModelo>();

            foreach (var itemRisco in inventario.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE)
            {
                RiscoRascunhoInventarioAtividadeModelo risco = new RiscoRascunhoInventarioAtividadeModelo();
                risco.Ativo = true;
                risco.CodRascunhoInventarioAtividade      = itemRisco.CodRascunhoInventarioAtividade;
                risco.CodRiscoRascunhoInventarioAtividade = itemRisco.CodRiscoRascunhoInventarioAtividade;
                risco.CodRisco              = itemRisco.CodRisco;
                risco.CodSeveridade         = itemRisco.CodSeveridade;
                risco.FonteGeradora         = itemRisco.FonteGeradora;
                risco.ProcedimentoAplicavel = itemRisco.ProcedimentoAplicavel;
                risco.ContraMedidas         = itemRisco.ContraMedidas;

                risco.EPIRiscoRascunhoInventarioAtividadeModelo = new List <EPIRiscoRascunhoInventarioAtividadeModelo>();

                var listaEPI = itemRisco.EPI_RISCO_RASCUNHO_INVENTARIO_ATIVIDADE
                               .Where(a => a.CodRiscoRascunhoInventarioAtividade == itemRisco.CodRiscoRascunhoInventarioAtividade).ToList();

                Mapper.Map(listaEPI, risco.EPIRiscoRascunhoInventarioAtividadeModelo);

                listaRisco.Add(risco);
            }

            inventarioAtv.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE = listaRisco;

            return(inventarioAtv);
        }
        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 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;
                    }
                }
            }
        }