public void RetornoDWHistoricoCompraCanal(int ano, int trimestre)
        {
            DataTable dtHistoricoCompraCanal = RepositoryService.HistoricoComprasCanal.ListarPor(ano.ToString(), trimestre.ToString());

            foreach (DataRow item in dtHistoricoCompraCanal.Rows)
            {
                Conta canal = RepositoryService.Conta.Retrieve(new Guid(item["CD_guid"].ToString()));

                if (canal == null)
                {
                    continue;
                }

                UnidadeNegocio unidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString());

                if (unidadeNegocio == null)
                {
                    continue;
                }

                HistoricoCompraCanal historicoCompraCanal = RepositoryService.HistoricoCompraCanal.ObterPor(unidadeNegocio.ID.Value, trimestre, ano, canal.ID.Value);

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

                    HistoricoComprasTrimestre hsTrimestre = RepositoryService.HistoricoComprasTrimestre
                                                            .ObterPor(unidadeNegocio.ID.Value, historicoCompraCanal.Ano.Value, historicoCompraCanal.Trimestre.Value);

                    if (hsTrimestre != null)
                    {
                        historicoCompraCanal.TrimestreRelacionamento = new Lookup(hsTrimestre.ID.Value, "");
                    }

                    RepositoryService.HistoricoComprasCanal.Update(historicoCompraCanal);
                }
                else
                {
                    HistoricoCompraCanal hsHistoricoCompraCanal = new HistoricoCompraCanal(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline);

                    hsHistoricoCompraCanal.Canal          = new Lookup(canal.ID.Value, "");
                    hsHistoricoCompraCanal.UnidadeNegocio = new Lookup(unidadeNegocio.ID.Value, "");
                    hsHistoricoCompraCanal.Valor          = decimal.Parse(item["Valor"].ToString());
                    hsHistoricoCompraCanal.Ano            = ano;
                    hsHistoricoCompraCanal.Trimestre      = trimestre;
                    hsHistoricoCompraCanal.Nome           = canal.NomeFantasia + " - " + unidadeNegocio.Nome + " - " + ano;

                    HistoricoComprasTrimestre hsTrimestre = RepositoryService.HistoricoComprasTrimestre
                                                            .ObterPor(unidadeNegocio.ID.Value, hsHistoricoCompraCanal.Ano.Value, hsHistoricoCompraCanal.Trimestre.Value);

                    if (hsTrimestre != null)
                    {
                        hsHistoricoCompraCanal.TrimestreRelacionamento = new Lookup(hsTrimestre.ID.Value, "");
                    }

                    RepositoryService.HistoricoCompraCanal.Create(hsHistoricoCompraCanal);
                }
            }
        }
        public void RetornoDWHistoricoCompraTrimestre(int ano, int trimestre)
        {
            DataTable dtHistoricoCompraTrimestre = RepositoryService.HistoricoComprasTrimestre.ListarPor(ano.ToString(), trimestre.ToString());

            Console.WriteLine("{0} - Existem {1} para ser atualizados", DateTime.Now, dtHistoricoCompraTrimestre.Rows.Count);

            foreach (DataRow item in dtHistoricoCompraTrimestre.Rows)
            {
                if (item.IsNull("CD_Unidade_Negocio"))
                {
                    continue;
                }

                UnidadeNegocio metaUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item.Field <string>("CD_Unidade_Negocio"));

                if (metaUnidadeNegocio == null)
                {
                    continue;
                }

                decimal                   valor    = item.IsNull("Valor") ? 0 : item.Field <decimal>("Valor");
                HistoricoCompra           hsCompra = RepositoryService.HistoricoCompra.ObterPor(metaUnidadeNegocio.ID.Value, ano);
                HistoricoComprasTrimestre historicoCompraTrimestre = RepositoryService.HistoricoComprasTrimestre.ObterPor(metaUnidadeNegocio.ID.Value, ano, trimestre);

                if (historicoCompraTrimestre != null)
                {
                    var historicoCompraTrimestreUpdate = new HistoricoComprasTrimestre(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline)
                    {
                        ID    = historicoCompraTrimestre.ID,
                        Valor = valor
                    };

                    if (hsCompra != null)
                    {
                        historicoCompraTrimestreUpdate.HistoricoCompraUnidade = new Lookup(hsCompra.ID.Value, "");
                    }

                    RepositoryService.HistoricoComprasTrimestre.Update(historicoCompraTrimestreUpdate);
                }
                else
                {
                    HistoricoComprasTrimestre hsCompTri = new HistoricoComprasTrimestre(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline);
                    hsCompTri.UnidadeNegocio = new Lookup(metaUnidadeNegocio.ID.Value, "");
                    hsCompTri.Ano            = ano;
                    hsCompTri.Trimestre      = trimestre;
                    hsCompTri.Valor          = valor;
                    hsCompTri.Nome           = string.Format("{0} - {1} o trimestre - {2}", metaUnidadeNegocio.Nome, trimestre, ano).Truncate(100);

                    if (hsCompra != null)
                    {
                        hsCompTri.HistoricoCompraUnidade = new Lookup(hsCompra.ID.Value, "");
                    }

                    RepositoryService.HistoricoComprasTrimestre.Create(hsCompTri);
                }
            }
        }
Beispiel #3
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);
                }
            }
        }