예제 #1
0
        public void RetornoDWHistoricoCompraSubfamilia(int ano, int trimestre)
        {
            DataTable dtHistoricoCompraSubfamilia = RepositoryService.HistoricoComprasSubFamilia.ListarPor(ano.ToString(), trimestre.ToString());

            foreach (DataRow item in dtHistoricoCompraSubfamilia.Rows)
            {
                UnidadeNegocio mUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString());
                if (!mUnidadeNegocio.ID.HasValue)
                {
                    continue;
                }

                Segmento segmento = RepositoryService.Segmento.ObterPor(item["cd_segmento"].ToString());
                if (segmento == null)
                {
                    continue;
                }

                FamiliaProduto familiaProduto = RepositoryService.FamiliaProduto.ObterPor(item["CD_Familia"].ToString());
                if (familiaProduto == null)
                {
                    continue;
                }

                SubfamiliaProduto subFamilia = RepositoryService.SubfamiliaProduto.ObterPor(item["CD_SubFamilia"].ToString());
                if (subFamilia == null)
                {
                    continue;
                }

                HistoricoComprasSubfamilia historicoCompraSubfamilia = RepositoryService.HistoricoComprasSubFamilia.ObterPor(mUnidadeNegocio.ID.Value,
                                                                                                                             subFamilia.ID.Value,
                                                                                                                             segmento.ID.Value,
                                                                                                                             familiaProduto.ID.Value,
                                                                                                                             ano,
                                                                                                                             trimestre);

                if (historicoCompraSubfamilia != null)
                {
                    historicoCompraSubfamilia.Valor = decimal.Parse(item["Valor"].ToString());

                    HistoricoComprasFamilia hCompraFamilia = RepositoryService.HistoricoComprasFamilia
                                                             .ObterPor(mUnidadeNegocio.ID.Value, historicoCompraSubfamilia.Segmento.Id, historicoCompraSubfamilia.Familia.Id, ano, trimestre);

                    if (hCompraFamilia != null)
                    {
                        historicoCompraSubfamilia.FamiliaRelacionamento = new Lookup(hCompraFamilia.ID.Value, "");
                    }

                    RepositoryService.HistoricoComprasSubFamilia.Update(historicoCompraSubfamilia);
                }
                else
                {
                    HistoricoComprasSubfamilia hsCompSubfamilia = new HistoricoComprasSubfamilia(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline);
                    hsCompSubfamilia.UnidadeNegocio = new Lookup(mUnidadeNegocio.ID.Value, "");
                    hsCompSubfamilia.Segmento       = new Lookup(segmento.ID.Value, "");
                    hsCompSubfamilia.Subfamilia     = new Lookup(subFamilia.ID.Value, "");
                    hsCompSubfamilia.Familia        = new Lookup(familiaProduto.ID.Value, "");
                    hsCompSubfamilia.Valor          = decimal.Parse(item["Valor"].ToString());
                    hsCompSubfamilia.Nome           = mUnidadeNegocio.Nome + " - " + subFamilia.Nome;
                    hsCompSubfamilia.Ano            = ano;
                    hsCompSubfamilia.Trimestre      = trimestre;

                    HistoricoComprasFamilia hCompraFamilia = RepositoryService.HistoricoComprasFamilia
                                                             .ObterPor(mUnidadeNegocio.ID.Value, hsCompSubfamilia.Segmento.Id, hsCompSubfamilia.Familia.Id, ano, trimestre);

                    if (hCompraFamilia != null)
                    {
                        hsCompSubfamilia.FamiliaRelacionamento = new Lookup(hCompraFamilia.ID.Value, "");
                    }

                    RepositoryService.HistoricoComprasSubFamilia.Create(hsCompSubfamilia);
                }
            }
        }
        public void RetornoDWHistoricoCompraProduto(int ano, int trimestre)
        {
            DataTable dtHistoricoCompraProduto = RepositoryService.HistoricoComprasProduto.ListarPor(ano.ToString(), trimestre.ToString());

            foreach (DataRow item in dtHistoricoCompraProduto.Rows)
            {
                int productNumber = 0;
                if (!Int32.TryParse(item["CD_item"].ToString(), out productNumber))
                {
                    continue;
                }

                Product produto = RepositoryService.Produto.ObterPor(item["CD_item"].ToString());

                if (produto == null)
                {
                    continue;
                }

                HistoricoDeComprasPorProduto historicoCompraProduto = RepositoryService.HistoricoComprasProduto.ObterPor(trimestre, ano, produto.ID.Value);

                if (historicoCompraProduto != null)
                {
                    historicoCompraProduto.Valor      = decimal.Parse(item["Valor"].ToString());
                    historicoCompraProduto.quantidade = decimal.Parse(item["Qtd"].ToString());

                    if (produto.UnidadeNegocio != null && produto.SubfamiliaProduto != null && produto.Segmento != null && produto.FamiliaProduto != null)
                    {
                        HistoricoComprasSubfamilia hSubFamilia = RepositoryService.HistoricoComprasSubFamilia
                                                                 .ObterPor(produto.UnidadeNegocio.Id, produto.SubfamiliaProduto.Id, produto.Segmento.Id, produto.FamiliaProduto.Id, ano, trimestre);

                        if (hSubFamilia != null)
                        {
                            historicoCompraProduto.SubFamilia = new Lookup(hSubFamilia.ID.Value, "");
                        }
                    }

                    RepositoryService.HistoricoComprasProduto.Update(historicoCompraProduto);
                }
                else
                {
                    HistoricoDeComprasPorProduto hsCompProduto = new HistoricoDeComprasPorProduto(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline);
                    hsCompProduto.produto    = new Lookup(produto.ID.Value, "");
                    hsCompProduto.quantidade = decimal.Parse(item["Qtd"].ToString());
                    hsCompProduto.Valor      = decimal.Parse(item["Valor"].ToString());
                    hsCompProduto.ano        = ano;
                    hsCompProduto.trimestre  = trimestre;
                    hsCompProduto.Nome       = produto.Codigo.ToString() + " - " + ano;

                    if (produto.UnidadeNegocio != null && produto.SubfamiliaProduto != null && produto.Segmento != null && produto.FamiliaProduto != null)
                    {
                        HistoricoComprasSubfamilia hSubFamilia = RepositoryService.HistoricoComprasSubFamilia
                                                                 .ObterPor(produto.UnidadeNegocio.Id, produto.SubfamiliaProduto.Id, produto.Segmento.Id, produto.FamiliaProduto.Id, ano, trimestre);

                        if (hSubFamilia != null)
                        {
                            hsCompProduto.SubFamilia = new Lookup(hSubFamilia.ID.Value, "");
                        }
                    }

                    RepositoryService.HistoricoComprasProduto.Create(hsCompProduto);
                }
            }
        }