public VersaoProdutoFator ListarSegmentoProdutoFatorProdutoNivel(VersaoProdutoFator entidade)
 {
     return(_versaoProdutoFator.ListarSegmentoProdutoFatorProdutoNivel(entidade));
 }
 public VersaoProdutoFator Listar(VersaoProdutoFator entidade)
 {
     return(_versaoProdutoFator.Listar(entidade));
 }
 public void Editar(VersaoProdutoFator entidade)
 {
     _versaoProdutoFator.Editar(entidade);
 }
 public void Remover(VersaoProdutoFator entidade)
 {
     _versaoProdutoFator.Remover(entidade);
 }
 public void Novo(VersaoProdutoFator entidade)
 {
     _versaoProdutoFator.Novo(entidade);
 }
Пример #6
0
        public void CalculaFatorPosicionamento(Modelo entidadeModelo, VersaoProdutoFator entidadeVersaoProdutoFator)
        {
            double                fatorPosicionamento = 0;
            Fator                 dadosFator          = new Fator();
            FatorBLL              oFator                  = new FatorBLL();
            Segmento              dadosSegmento           = new Segmento();
            Criterio              dadosCriterio           = new Criterio();
            CriterioBLL           oCriterio               = new CriterioBLL();
            VersaoProdutoFator    dadosVersaoProdutoFator = new VersaoProdutoFator();
            VersaoProdutoFatorBLL oVersaoProdutoFator     = new VersaoProdutoFatorBLL();

            //Invoca método Listar do Segmento passando os parametros recebidos
            dadosSegmento.Modelo = new Modelo()
            {
                IDModelo = entidadeModelo.IDModelo
            };
            dadosSegmento = Listar(dadosSegmento);
            //Foreach para cada IDsegmento dentro da lista SegmentoLista
            foreach (Segmento listSegmento in dadosSegmento.SegmentoLista)
            {
                //Invoca método ListarPosicionamentoSemProduto passando os parametros recebidos
                dadosFator.VersaoProdutoFator = new VersaoProdutoFator()
                {
                    IdVersaoProdutoFator = entidadeVersaoProdutoFator.IdVersaoProdutoFator
                };
                dadosFator.Modelo = new Modelo()
                {
                    IDModelo = entidadeModelo.IDModelo
                };
                dadosFator.TipoFator = new TipoFator()
                {
                    IDTipoFator = 2
                };
                dadosFator = oFator.ListarPosicionamentoSemProduto(dadosFator);
                //Foreach para cada IDFator dentro da lista FatorFilho
                foreach (Fator listFator in dadosFator.FatorFilho)
                {
                    //Invoca método ListarFator do Segmento
                    dadosSegmento.IDSegmento = listSegmento.IDSegmento;
                    dadosSegmento.Fator      = new Fator()
                    {
                        IDFator = listFator.IDFator
                    };
                    dadosSegmento = ListarFator(dadosSegmento);
                    //Foreach para lista SegmentoFator
                    foreach (SegmentoFator listSegmentoFator in dadosSegmento.SegmentoFator)
                    {
                        //Invoca Método CriterioFatorListar
                        dadosCriterio.IDCriterio = listFator.Criterio.IDCriterio;
                        dadosCriterio.Fator      = new Fator()
                        {
                            IDFator = listFator.IDFator
                        };
                        dadosCriterio = oCriterio.ListarFator(dadosCriterio);
                        //Invoca Método FatorListar
                        dadosFator.IDFator = listFator.IDFator;
                        dadosFator         = oFator.Listar(dadosFator);
                        //Variável que faz a somatória de Valor x Peso
                        fatorPosicionamento += Convert.ToInt32(dadosCriterio.Valor * dadosFator.Peso);
                        //Invoca método ListarSegmentoProdutoFatorProduto
                        dadosVersaoProdutoFator.IdVersaoProdutoFator = entidadeVersaoProdutoFator.IdVersaoProdutoFator;
                        dadosVersaoProdutoFator.Segmento             = new Segmento()
                        {
                            IDSegmento = listSegmento.IDSegmento
                        };
                        dadosVersaoProdutoFator = oVersaoProdutoFator.ListarSegmentoProdutoFatorProduto(dadosVersaoProdutoFator);
                        //Verifica se o retorno do método ListarSegmentoProdutoFatorProduto tem algum registro
                        if (dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Criterio.IDCriterio == 0)
                        {
                            //Invoca Método CriterioFatorListar
                            dadosCriterio.IDCriterio = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Criterio.IDCriterio;
                            dadosCriterio.Fator      = new Fator()
                            {
                                IDFator = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Fator.IDFator
                            };
                            dadosCriterio = oCriterio.ListarFator(dadosCriterio);
                            //Invoca Método FatorListar
                            dadosFator.IDFator = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Fator.IDFator;
                            dadosFator         = oFator.Listar(dadosFator);
                            //Invoca método ListarRazaoAderenciaProdutoNivel
                            dadosSegmento.IDSegmento = listSegmento.IDSegmento;
                            dadosSegmento.ProdutoNivel.IDProdutoNivel             = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Produto.IdProduto;
                            dadosSegmento.VersaoProdutoFator.IdVersaoProdutoFator = entidadeVersaoProdutoFator.IdVersaoProdutoFator;
                            dadosSegmento = ListarRazaoAderenciaProdutoNivel(dadosSegmento);
                            //Variável que faz a somatória de fatorPosicionamento x (Valor x Peso)
                            fatorPosicionamento += Convert.ToInt32(dadosSegmento.FatorPosicionamento * (dadosCriterio.Valor * dadosFator.Peso));
                        }
                        else
                        {
                            //Invoca Método CriterioFatorListar
                            dadosCriterio.IDCriterio = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Criterio.IDCriterio;
                            dadosCriterio.Fator      = new Fator()
                            {
                                IDFator = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Fator.IDFator
                            };
                            dadosCriterio = oCriterio.ListarFator(dadosCriterio);
                            //Invoca Método FatorListar
                            dadosFator.IDFator = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Fator.IDFator;
                            dadosFator         = oFator.Listar(dadosFator);
                            //Invoca método ListarRazaoAderenciaProduto
                            dadosSegmento.IDSegmento = listSegmento.IDSegmento;
                            dadosSegmento.ProdutoNivel.IDProdutoNivel             = dadosVersaoProdutoFator.VersaoSegmentoProdutoFatorProduto.Produto.IdProduto;
                            dadosSegmento.VersaoProdutoFator.IdVersaoProdutoFator = entidadeVersaoProdutoFator.IdVersaoProdutoFator;
                            dadosSegmento = ListarRazaoAderenciaProduto(dadosSegmento);
                            //Variável que faz a somatória de fatorPosicionamento x (Valor x Peso)
                            fatorPosicionamento += Convert.ToInt32(dadosSegmento.FatorPosicionamento * (dadosCriterio.Valor * dadosFator.Peso));
                        }
                    }
                }
            }
            //Invoca método Editar da VersaoProdutoFator passando o IdVersaoProdutoFator e o fatorPosicionamento
            dadosVersaoProdutoFator.IdVersaoProdutoFator = entidadeVersaoProdutoFator.IdVersaoProdutoFator;
            dadosVersaoProdutoFator.FatorPosicionamento  = Convert.ToInt32(fatorPosicionamento);
            oVersaoProdutoFator.Editar(dadosVersaoProdutoFator);
        }