public void Criar(OrcamentoPorCanal mOrcamentodoCanal, Model.OrcamentodaUnidade mOrcamentodaUnidade, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado)
        {
            OrcamentodoCanalporSegmento mOrcamentodoCanalporSegmento;
            var lstOrcamentoporSegmento = (from x in lstOrcamentoDetalhado
                                           group x by string.Format("{0}", x.Segmento.Id));

            foreach (var OrcaSegmento in lstOrcamentoporSegmento)
            {
                mOrcamentodoCanalporSegmento = RepositoryService.OrcamentodoCanalporSegmento.ObterPor(mOrcamentodoCanal.ID.Value, OrcaSegmento.First().Canal.Id, mOrcamentodoCanal.Trimestre.Value, OrcaSegmento.First().Segmento.Id);
                if (mOrcamentodoCanalporSegmento == null)
                {
                    mOrcamentodoCanalporSegmento                  = new OrcamentodoCanalporSegmento(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mOrcamentodoCanalporSegmento.ID               = Guid.NewGuid();
                    mOrcamentodoCanalporSegmento.Nome             = mOrcamentodoCanal.Nome + " - " + OrcaSegmento.First().Segmento.Name;
                    mOrcamentodoCanalporSegmento.UnidadedeNegocio = mOrcamentodoCanal.UnidadedeNegocio;
                    mOrcamentodoCanalporSegmento.Ano              = mOrcamentodaUnidade.Ano;
                    mOrcamentodoCanalporSegmento.Canal            = new Lookup(OrcaSegmento.First().Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>());
                    mOrcamentodoCanalporSegmento.Trimestre        = mOrcamentodoCanal.Trimestre;
                    mOrcamentodoCanalporSegmento.Segmento         = new Lookup(OrcaSegmento.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mOrcamentodoCanalporSegmento.OrcamentodoCanal = new Lookup(mOrcamentodoCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentoPorCanal>());

                    RepositoryService.OrcamentodoCanalporSegmento.Create(mOrcamentodoCanalporSegmento);
                }
                ServiceOrcamentodoCanalporFamilia.Criar(mOrcamentodoCanalporSegmento, OrcaSegmento.ToList(), OrcaSegmento.First().Segmento.Id, OrcaSegmento.First().Canal.Id);
            }
        }
Example #2
0
        public void Criar(Model.OrcamentodaUnidadeporTrimestre mOrcamentodaUnidadeporTrimestre, Model.OrcamentodaUnidade mOrcamentodaUnidade, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado)
        {
            OrcamentoPorCanal mOrcamentodoCanal;
            var lstOrcamentoporSegmento = (from x in lstOrcamentoDetalhado
                                           group x by string.Format("{0}", x.Canal.Id));

            foreach (var OrcaCanal in lstOrcamentoporSegmento)
            {
                mOrcamentodoCanal = RepositoryService.OrcamentoPorCanal.ObterPor(mOrcamentodaUnidadeporTrimestre.ID.Value, OrcaCanal.First().Canal.Id, mOrcamentodaUnidadeporTrimestre.Trimestre.Value);
                if (mOrcamentodoCanal == null)
                {
                    mOrcamentodoCanal     = new OrcamentoPorCanal(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline);
                    mOrcamentodoCanal.Ano = mOrcamentodaUnidade.Ano;
                    mOrcamentodoCanal.UnidadedeNegocio = mOrcamentodaUnidade.UnidadedeNegocio;
                    mOrcamentodoCanal.Trimestre        = mOrcamentodaUnidadeporTrimestre.Trimestre;
                    mOrcamentodoCanal.OrcamentoporTrimestredaUnidade = new Lookup(mOrcamentodaUnidadeporTrimestre.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporTrimestre>());
                    mOrcamentodoCanal.Nome  = mOrcamentodaUnidadeporTrimestre.Nome;
                    mOrcamentodoCanal.Canal = new Lookup(OrcaCanal.First().Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>());
                    mOrcamentodoCanal.ID    = Guid.NewGuid();

                    RepositoryService.OrcamentodoCanal.Create(mOrcamentodoCanal);
                }
                ServiceOrcamentodoCanalporSegmento.Criar(mOrcamentodoCanal, mOrcamentodaUnidade, OrcaCanal.ToList());
            }
        }
Example #3
0
        public void CriarManual(Model.OrcamentodaUnidadeporTrimestre mOrcamentodaUnidadeporTrimestre, Model.OrcamentodaUnidade mOrcamentodaUnidade, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado)
        {
            OrcamentoPorCanal mOrcamentodoCanal;
            var lstOrcamentoporSegmento = (from x in lstOrcamentoDetalhado
                                           group x by string.Format("{0}", x.Canal.Id));

            foreach (var OrcaCanal in lstOrcamentoporSegmento)
            {
                mOrcamentodoCanal = RepositoryService.OrcamentoPorCanal.ObterPor(mOrcamentodaUnidadeporTrimestre.ID.Value, OrcaCanal.First().Canal.Id, mOrcamentodaUnidadeporTrimestre.Trimestre.Value);
                if (mOrcamentodoCanal == null)
                {
                    mOrcamentodoCanal     = new OrcamentoPorCanal(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline);
                    mOrcamentodoCanal.Ano = mOrcamentodaUnidade.Ano;
                    mOrcamentodoCanal.UnidadedeNegocio = mOrcamentodaUnidade.UnidadedeNegocio;
                    mOrcamentodoCanal.Trimestre        = mOrcamentodaUnidadeporTrimestre.Trimestre;
                    mOrcamentodoCanal.OrcamentoporTrimestredaUnidade = new Lookup(mOrcamentodaUnidadeporTrimestre.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporTrimestre>());
                    mOrcamentodoCanal.Nome  = mOrcamentodaUnidadeporTrimestre.Nome;
                    mOrcamentodoCanal.Canal = new Lookup(OrcaCanal.First().Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>());
                    mOrcamentodoCanal.ID    = Guid.NewGuid();

                    RepositoryService.OrcamentodoCanal.Create(mOrcamentodoCanal);
                }

                Trimestre trimestre = new Trimestre();
                #region
                if (mOrcamentodaUnidadeporTrimestre.Trimestre.Value == (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre1)
                {
                    trimestre.trimestre = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre1;
                    trimestre.Mes1      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre1.Janeiro;
                    trimestre.Mes2      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre1.Fevereiro;
                    trimestre.Mes3      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre1.Marco;
                }
                else if (mOrcamentodaUnidadeporTrimestre.Trimestre.Value == (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre2)
                {
                    trimestre.trimestre = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre2;
                    trimestre.Mes1      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre2.Abril;
                    trimestre.Mes2      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre2.Maio;
                    trimestre.Mes3      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre2.Junho;
                }
                else if (mOrcamentodaUnidadeporTrimestre.Trimestre.Value == (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre3)
                {
                    trimestre.trimestre = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre3;
                    trimestre.Mes1      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre3.Julho;
                    trimestre.Mes2      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre3.Agosto;
                    trimestre.Mes3      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre3.Setembro;
                }
                else if (mOrcamentodaUnidadeporTrimestre.Trimestre.Value == (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre4)
                {
                    trimestre.trimestre = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre4;
                    trimestre.Mes1      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre4.Outubro;
                    trimestre.Mes2      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre4.Novembro;
                    trimestre.Mes3      = (int)Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre4.Dezembro;
                }
                #endregion

                //so cria no retorno da planilha
                ServiceOrcamentodoCanalDetalhadoporProduto.CriarManual(mOrcamentodoCanal, trimestre);
            }
        }
Example #4
0
        public OrcamentoPorCanal getOrcamentoCanal(Guid orcamentoporcanalId)
        {
            OrcamentoPorCanal orcamentocanal = RepositoryService.OrcamentoPorCanal.ObterPor(orcamentoporcanalId);

            if (orcamentocanal != null)
            {
                return(orcamentocanal);
            }

            return(null);
        }
Example #5
0
        public void AtualizarManual(OrcamentodaUnidadeporTrimestre mOrcamentodaUnidadeporTrimestre, Trimestre trimestre, Guid canalId)
        {
            OrcamentoPorCanal mOrcamentoPorCanal = RepositoryService.OrcamentoPorCanal.ObterPor(mOrcamentodaUnidadeporTrimestre.ID.Value, canalId, trimestre.trimestre.Value);

            mOrcamentoPorCanal.OrcamentoPlanejado  = mOrcamentoPorCanal.OrcamentoPlanejado.HasValue ? mOrcamentoPorCanal.OrcamentoPlanejado.Value : 0;
            mOrcamentoPorCanal.OrcamentoPlanejado += trimestre.Mes1Vlr + trimestre.Mes2Vlr + trimestre.Mes3Vlr;

            ServiceOrcamentodoCanalDetalhadoporProduto.CriarManual(mOrcamentoPorCanal, trimestre);

            RepositoryService.OrcamentoPorCanal.Update(mOrcamentoPorCanal);
        }
Example #6
0
        public void RetornoDWCanalTrimestre(int ano, int trimestre)
        {
            List <OrcamentodaUnidade> lstOrcamentodaUnidade = RepositoryService.OrcamentodaUnidade.ListarOrcamentos(ano);

            if (lstOrcamentodaUnidade.Count == 0)
            {
                return;
            }

            DataTable dtOrcamentoTrimestre = RepositoryService.OrcamentoPorCanal.ListarCanalDW(ano, trimestre, lstOrcamentodaUnidade);

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

                UnidadeNegocio unidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item.Field <string>("CD_Unidade_Negocio"));
                Conta          conta          = RepositoryService.Conta.ObterCanal(item.Field <string>("CD_Emitente"));

                if (unidadeNegocio != null && conta != null)
                {
                    OrcamentoPorCanal mOrcamentoCanalTrimetre = RepositoryService.OrcamentoPorCanal.ObterPor(unidadeNegocio.ID.Value, ano, trimestre, conta.ID.Value);

                    if (mOrcamentoCanalTrimetre != null)
                    {
                        var orcamentoPorCanalUpdate = new OrcamentoPorCanal(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline)
                        {
                            ID = mOrcamentoCanalTrimetre.ID,
                            OrcamentoRealizado = item.Field <decimal>("vlr")
                        };

                        RepositoryService.OrcamentoPorCanal.Update(orcamentoPorCanalUpdate);
                    }
                }
            }
        }
Example #7
0
        public void CriarManual(OrcamentoPorCanal mOrcamentoPorCanal, Trimestre trimestre)
        {
            Model.OrcamentodoCanalDetalhadoporProduto mOrcCanalDetalhadoporProduto;

            #region mes 1
            mOrcCanalDetalhadoporProduto = RepositoryService.OrcamentodoCanalDetalhadoporProduto.ObterOrcamentoProdutoDetalhadoManual(mOrcamentoPorCanal.ID.Value, mOrcamentoPorCanal.UnidadedeNegocio.Id, mOrcamentoPorCanal.Canal.Id, mOrcamentoPorCanal.Ano.Value, trimestre.trimestre.Value, trimestre.Mes1.Value);
            if (mOrcCanalDetalhadoporProduto == null)
            {
                mOrcCanalDetalhadoporProduto = new OrcamentodoCanalDetalhadoporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline);
            }

            mOrcCanalDetalhadoporProduto.Ano                = mOrcamentoPorCanal.Ano;
            mOrcCanalDetalhadoporProduto.Trimestre          = (int)trimestre.trimestre;
            mOrcCanalDetalhadoporProduto.Mes                = (int)trimestre.Mes1;
            mOrcCanalDetalhadoporProduto.OrcamentoPlanejado = trimestre.Mes1Vlr;
            mOrcCanalDetalhadoporProduto.Canal              = new Lookup(mOrcamentoPorCanal.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>());
            mOrcCanalDetalhadoporProduto.OrcamentodoCanal   = new Lookup(mOrcamentoPorCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <OrcamentoPorCanal>());
            //mOrcCanalDetalhadoporProduto.UnidadeNegocio = new Lookup(mOrcamentoPorCanal.UnidadedeNegocio.Id, SDKore.Crm.Util.Utility.GetEntityName<Model.UnidadeNegocio>());

            if (mOrcCanalDetalhadoporProduto.ID.HasValue)
            {
                RepositoryService.OrcamentodoCanalDetalhadoporProduto.Update(mOrcCanalDetalhadoporProduto);
            }
            else
            {
                RepositoryService.OrcamentodoCanalDetalhadoporProduto.Create(mOrcCanalDetalhadoporProduto);
            }
            #endregion

            #region mes 2
            mOrcCanalDetalhadoporProduto = RepositoryService.OrcamentodoCanalDetalhadoporProduto.ObterOrcamentoProdutoDetalhadoManual(mOrcamentoPorCanal.ID.Value, mOrcamentoPorCanal.UnidadedeNegocio.Id, mOrcamentoPorCanal.Canal.Id, mOrcamentoPorCanal.Ano.Value, trimestre.trimestre.Value, trimestre.Mes2.Value);
            if (mOrcCanalDetalhadoporProduto == null)
            {
                mOrcCanalDetalhadoporProduto = new OrcamentodoCanalDetalhadoporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline);
            }

            mOrcCanalDetalhadoporProduto.Ano                = mOrcamentoPorCanal.Ano;
            mOrcCanalDetalhadoporProduto.Trimestre          = (int)trimestre.trimestre;
            mOrcCanalDetalhadoporProduto.Mes                = (int)trimestre.Mes2;
            mOrcCanalDetalhadoporProduto.OrcamentoPlanejado = trimestre.Mes2Vlr;
            mOrcCanalDetalhadoporProduto.Canal              = new Lookup(mOrcamentoPorCanal.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>());
            mOrcCanalDetalhadoporProduto.OrcamentodoCanal   = new Lookup(mOrcamentoPorCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <OrcamentoPorCanal>());
            //mOrcCanalDetalhadoporProduto.UnidadeNegocio = new Lookup(mOrcamentoPorCanal.UnidadedeNegocio.Id, SDKore.Crm.Util.Utility.GetEntityName<Model.UnidadeNegocio>());

            if (mOrcCanalDetalhadoporProduto.ID.HasValue)
            {
                RepositoryService.OrcamentodoCanalDetalhadoporProduto.Update(mOrcCanalDetalhadoporProduto);
            }
            else
            {
                RepositoryService.OrcamentodoCanalDetalhadoporProduto.Create(mOrcCanalDetalhadoporProduto);
            }
            #endregion

            #region mes 3
            mOrcCanalDetalhadoporProduto = RepositoryService.OrcamentodoCanalDetalhadoporProduto.ObterOrcamentoProdutoDetalhadoManual(mOrcamentoPorCanal.ID.Value, mOrcamentoPorCanal.UnidadedeNegocio.Id, mOrcamentoPorCanal.Canal.Id, mOrcamentoPorCanal.Ano.Value, trimestre.trimestre.Value, trimestre.Mes3.Value);
            if (mOrcCanalDetalhadoporProduto == null)
            {
                mOrcCanalDetalhadoporProduto = new OrcamentodoCanalDetalhadoporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline);
            }
            mOrcCanalDetalhadoporProduto.Ano                = mOrcamentoPorCanal.Ano;
            mOrcCanalDetalhadoporProduto.Trimestre          = (int)trimestre.trimestre;
            mOrcCanalDetalhadoporProduto.Mes                = (int)trimestre.Mes3;
            mOrcCanalDetalhadoporProduto.OrcamentoPlanejado = trimestre.Mes3Vlr;
            mOrcCanalDetalhadoporProduto.Canal              = new Lookup(mOrcamentoPorCanal.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>());
            mOrcCanalDetalhadoporProduto.OrcamentodoCanal   = new Lookup(mOrcamentoPorCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <OrcamentoPorCanal>());
            //mOrcCanalDetalhadoporProduto.UnidadeNegocio = new Lookup(mOrcamentoPorCanal.UnidadedeNegocio.Id, SDKore.Crm.Util.Utility.GetEntityName<Model.UnidadeNegocio>());

            if (mOrcCanalDetalhadoporProduto.ID.HasValue)
            {
                RepositoryService.OrcamentodoCanalDetalhadoporProduto.Update(mOrcCanalDetalhadoporProduto);
            }
            else
            {
                RepositoryService.OrcamentodoCanalDetalhadoporProduto.Create(mOrcCanalDetalhadoporProduto);
            }
            #endregion
        }