Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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);
                }
            }
        }