public void RetornoDWHistoricoCompraFamilia(int ano, int trimestre) { DataTable dtHistoricoCompraFamilia = RepositoryService.HistoricoComprasFamilia.ListarPor(ano.ToString(), trimestre.ToString()); foreach (DataRow item in dtHistoricoCompraFamilia.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; } HistoricoComprasFamilia historicoCompraFamilia = RepositoryService.HistoricoComprasFamilia.ObterPor(mUnidadeNegocio.ID.Value, segmento.ID.Value, familiaProduto.ID.Value, ano, trimestre); if (historicoCompraFamilia != null) { historicoCompraFamilia.Valor = decimal.Parse(item["Valor"].ToString()); HistoricoComprasSegmento hSegmento = RepositoryService.HistoricoComprasSegmento.ObterPor(historicoCompraFamilia.UnidadeNegocio.Id, historicoCompraFamilia.Segmento.Id, historicoCompraFamilia.Ano.Value, historicoCompraFamilia.Trimestre.ToString()); if (hSegmento != null) { historicoCompraFamilia.SegmentoRelacionamento = new Lookup(hSegmento.ID.Value, ""); } RepositoryService.HistoricoComprasFamilia.Update(historicoCompraFamilia); } else { HistoricoComprasFamilia hsCompFamilia = new HistoricoComprasFamilia(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline); hsCompFamilia.UnidadeNegocio = new Lookup(mUnidadeNegocio.ID.Value, ""); hsCompFamilia.Segmento = new Lookup(segmento.ID.Value, ""); hsCompFamilia.FamiliaDoProduto = new Lookup(familiaProduto.ID.Value, ""); hsCompFamilia.Valor = decimal.Parse(item["Valor"].ToString()); hsCompFamilia.Ano = ano; hsCompFamilia.Trimestre = trimestre; hsCompFamilia.Nome = mUnidadeNegocio.Nome + " - " + familiaProduto.Nome + " - " + hsCompFamilia.Ano.ToString(); HistoricoComprasSegmento hSegmento = RepositoryService.HistoricoComprasSegmento.ObterPor(hsCompFamilia.UnidadeNegocio.Id, hsCompFamilia.Segmento.Id, hsCompFamilia.Ano.Value, hsCompFamilia.Trimestre.ToString()); if (hSegmento != null) { hsCompFamilia.SegmentoRelacionamento = new Lookup(hSegmento.ID.Value, ""); } RepositoryService.HistoricoComprasFamilia.Create(hsCompFamilia); } } }
public void AtualizarFaturamentoDoSegmento(int ano, int trimestre) { DataTable dtHistoricoCompraSegmento = RepositoryService.HistoricoComprasSegmento.ListarPor(ano.ToString(), trimestre.ToString()); foreach (DataRow item in dtHistoricoCompraSegmento.Rows) { UnidadeNegocio mUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString()); if (!mUnidadeNegocio.ID.HasValue) { continue; } Segmento mSegmento = RepositoryService.Segmento.ObterPor(item["cd_segmento"].ToString()); if (mSegmento == null) { continue; } HistoricoComprasSegmento historicoSegmento = RepositoryService.HistoricoComprasSegmento.ObterPor(mUnidadeNegocio.ID.Value, mSegmento.ID.Value, ano, trimestre.ToString()); if (historicoSegmento != null) { historicoSegmento.Valor = decimal.Parse(item["Valor"].ToString()); //Temos que converter pra decimal primeiro por conta do dado do DW historicoSegmento.Quantidade = Convert.ToInt32(decimal.Parse(item["qtd"].ToString())); HistoricoComprasTrimestre hTrimestre = RepositoryService.HistoricoComprasTrimestre.ObterPor(historicoSegmento.UnidadeNegocio.Id, ano, trimestre); if (hTrimestre != null) { historicoSegmento.TrimestreRelacionamento = new Lookup(hTrimestre.ID.Value, ""); } RepositoryService.HistoricoComprasSegmento.Update(historicoSegmento); } else { HistoricoComprasSegmento hsComp = new HistoricoComprasSegmento(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline); hsComp.UnidadeNegocio = new Lookup(mUnidadeNegocio.ID.Value, ""); hsComp.Ano = int.Parse(item["cd_ano"].ToString()); if (String.IsNullOrEmpty(mSegmento.Nome)) { hsComp.Nome = mUnidadeNegocio.Nome + " - " + item["cd_ano"].ToString(); } else { hsComp.Nome = mUnidadeNegocio.Nome + " - " + mSegmento.Nome + " - " + item["cd_ano"].ToString(); } hsComp.Quantidade = Convert.ToInt32(decimal.Parse(item["qtd"].ToString())); hsComp.Valor = decimal.Parse(item["Valor"].ToString()); if (mSegmento != null) { hsComp.Segmento = new Lookup(mSegmento.ID.Value, ""); } hsComp.Trimestre = trimestre; HistoricoComprasTrimestre hTrimestre = RepositoryService.HistoricoComprasTrimestre.ObterPor(hsComp.UnidadeNegocio.Id, hsComp.Ano, trimestre); if (hTrimestre != null) { hsComp.TrimestreRelacionamento = new Lookup(hTrimestre.ID.Value, ""); } RepositoryService.HistoricoComprasSegmento.Create(hsComp); } } }