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); } } }