Esempio n. 1
0
        /// <summary>
        /// Metodo gera codigo de Fator, quando este possui "Pai", chamar este metodo no momento da escolha do Fator Pai
        /// </summary>
        /// <param name="entidade"></param>
        /// <param name="idPai"></param>
        /// <returns></returns>
        public Fator GeraCodigo(List <Fator> entidade, string idPai)
        {
            Fator dadosFator = new Fator();
            //variavel usada para retornar o Codigo
            string codigo = string.Empty;

            //variaval geradora de Codigo novo
            int codigoNovo = 0;
            //busca todos os filhos do fator pai
            List <Fator> dadosFatorPai = new List <Fator>();
            FatorBLL     oFator        = new FatorBLL();


            //busca o codigo existente na arvore do fator
            for (int i = 0; i < entidade.Count; i++)
            {
                if (entidade[i].IDFator.ToString() == idPai)
                {
                    dadosFatorPai = oFator.ListarRelacao(entidade[i]);

                    dadosFator.IdPai  = Convert.ToInt16(idPai);
                    codigoNovo        = Convert.ToInt32(entidade[i].FatorFilho.Count) + dadosFatorPai.Count + 1;
                    dadosFator.Codigo = entidade[i].Codigo + "." + codigoNovo.ToString();

                    //}
                    //else
                    //{
                    //    dadosFator.IdPai = Convert.ToInt16(idPai);
                    //    codigoNovo = +dadosFatorPai.Count + 1;
                    //    dadosFator.Codigo = entidade[i].Codigo + "." + codigoNovo.ToString();
                    //}
                }
            }
            return(dadosFator);
        }
Esempio n. 2
0
        public void CalculaFatorAtratividade(Modelo entidadeModelo)
        {
            double      resultado = 0;
            double      valor;
            double      peso;
            Segmento    dadosSegmento = new Segmento();
            Fator       dadosFator    = new Fator();
            FatorBLL    oFator        = new FatorBLL();
            Criterio    dadosCriterio = new Criterio();
            CriterioBLL oCriterio     = new CriterioBLL();

            //Invoca Método SegmentoListar
            dadosSegmento.Modelo = new Modelo()
            {
                IDModelo = entidadeModelo.IDModelo
            };
            dadosSegmento = Listar(dadosSegmento);

            //Encontrar os Fatores relacionados para cada indice da lista Segmento
            foreach (Segmento listSegmento in dadosSegmento.SegmentoLista)
            {
                //Invoca Método FatorSegmentoListar
                dadosFator.Segmento = new Segmento()
                {
                    IDSegmento = listSegmento.IDSegmento
                };
                dadosFator = oFator.ListarSegmento(dadosFator);

                //Encontrar o IdCriterio para cada indice da lista Fator
                foreach (Fator listFator in dadosFator.FatorFilho)
                {
                    //Invoca Método CriterioFatorListar
                    dadosCriterio.IDCriterio = listFator.Criterio.IDCriterio;
                    dadosCriterio.Fator      = new Fator()
                    {
                        IDFator = listFator.IDFator
                    };
                    dadosCriterio = oCriterio.ListarFator(dadosCriterio);
                    valor         = dadosFator.Valor;

                    //Invoca Método FatorListar
                    dadosFator.IDFator = listFator.IDFator;
                    dadosFator         = oFator.Listar(dadosFator);
                    peso = dadosFator.Peso;

                    resultado = (valor * peso) + resultado;
                }
                dadosSegmento.FatorAtratividade = Convert.ToInt32(Math.Round(resultado));
                dadosSegmento.IDSegmento        = listSegmento.IDSegmento;
                Editar(dadosSegmento);
            }
        }
Esempio n. 3
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);
        }