コード例 #1
0
        public void RetornoDWCanalSubFamilia(int ano, int trimestre)
        {
            List <OrcamentodaUnidade> lstOrcamentodaUnidade = RepositoryService.OrcamentodaUnidade.ListarOrcamentos(ano);

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

            DataTable dtOrcamentoSubFamilia = RepositoryService.OrcamentodoCanalporSubFamilia.ListarCanalSubFamiliaDW(ano, trimestre, lstOrcamentodaUnidade);

            foreach (DataRow item in dtOrcamentoSubFamilia.Rows)
            {
                UnidadeNegocio    mUnidadeNegocio    = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString());
                Segmento          mSegmento          = RepositoryService.Segmento.ObterPor(item["cd_segmento"].ToString());
                FamiliaProduto    mFamiliaProduto    = RepositoryService.FamiliaProduto.ObterPor(item["CD_familia"].ToString());
                Conta             mConta             = RepositoryService.Conta.ObterCanal(item["CD_Emitente"].ToString());
                SubfamiliaProduto mSubfamiliaProduto = RepositoryService.SubfamiliaProduto.ObterPor(item["CD_subfamilia"].ToString());

                if (mUnidadeNegocio != null && mSegmento != null && mFamiliaProduto != null && mConta != null && mSubfamiliaProduto != null)
                {
                    OrcamentodoCanalporSubFamilia mOrcamentodoCanalporSubFamilia = RepositoryService.OrcamentodoCanalporSubFamilia
                                                                                   .Obter(mUnidadeNegocio.ID.Value, ano, trimestre, mConta.ID.Value, mSegmento.ID.Value, mFamiliaProduto.ID.Value, mSubfamiliaProduto.ID.Value);

                    if (mOrcamentodoCanalporSubFamilia != null)
                    {
                        mOrcamentodoCanalporSubFamilia.OrcamentoRealizado = decimal.Parse(item["vlr"].ToString());
                        RepositoryService.OrcamentodoCanalporSubFamilia.Update(mOrcamentodoCanalporSubFamilia);
                    }
                }
            }
        }
コード例 #2
0
        public void Criar(OrcamentodoCanalporFamilia mOrcamentodoCanalporFamilia, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid familiaId, Guid canalId)
        {
            OrcamentodoCanalporSubFamilia mOrcamentodoCanalporSubFamilia;
            var lstOrcamentoporSegSubFamilia = (from x in lstOrcamentoDetalhado
                                                //where x.Familia.Id == familiaId && x.Canal.Id == canalId
                                                group x by string.Format("{0}/{1}/{2}", x.Segmento.Id, x.Familia.Id, x.SubFamilia.Id));

            foreach (var OrcaSegSubFamilia in lstOrcamentoporSegSubFamilia)
            {
                mOrcamentodoCanalporSubFamilia = RepositoryService.OrcamentodoCanalporSubFamilia.ObterPorSubFamiliaTrimestreCanal(OrcaSegSubFamilia.First().Canal.Id, OrcaSegSubFamilia.First().Familia.Id, mOrcamentodoCanalporFamilia.ID.Value, OrcaSegSubFamilia.First().Segmento.Id, OrcaSegSubFamilia.First().SubFamilia.Id, mOrcamentodoCanalporFamilia.Trimestre.Value);
                if (mOrcamentodoCanalporSubFamilia == null)
                {
                    mOrcamentodoCanalporSubFamilia    = new OrcamentodoCanalporSubFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mOrcamentodoCanalporSubFamilia.ID = Guid.NewGuid();
                    mOrcamentodoCanalporSubFamilia.UnidadedeNegocio = mOrcamentodoCanalporFamilia.UnidadedeNegocio;
                    mOrcamentodoCanalporSubFamilia.Ano                        = mOrcamentodoCanalporFamilia.Ano;
                    mOrcamentodoCanalporSubFamilia.Trimestre                  = mOrcamentodoCanalporFamilia.Trimestre;
                    mOrcamentodoCanalporSubFamilia.Segmento                   = new Lookup(OrcaSegSubFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mOrcamentodoCanalporSubFamilia.FamiliadeProduto           = new Lookup(OrcaSegSubFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>());
                    mOrcamentodoCanalporSubFamilia.SubFamilia                 = new Lookup(OrcaSegSubFamilia.First().SubFamilia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.SubfamiliaProduto>());
                    mOrcamentodoCanalporSubFamilia.OrcamentodoCanalporFamilia = new Lookup(mOrcamentodoCanalporFamilia.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodoCanalporFamilia>());
                    mOrcamentodoCanalporSubFamilia.Nome                       = (mOrcamentodoCanalporFamilia.Nome + " - " + OrcaSegSubFamilia.First().SubFamilia.Name).Length > 99 ? (mOrcamentodoCanalporFamilia.Nome + " - " + OrcaSegSubFamilia.First().SubFamilia.Name).Substring(1, 99) : (mOrcamentodoCanalporFamilia.Nome + " - " + OrcaSegSubFamilia.First().SubFamilia.Name);
                    mOrcamentodoCanalporSubFamilia.Canal                      = new Lookup(canalId, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>());
                    RepositoryService.OrcamentodoCanalporSubFamilia.Create(mOrcamentodoCanalporSubFamilia);
                }
                ServiceOrcamentodoCanalporProduto.Criar(mOrcamentodoCanalporSubFamilia, OrcaSegSubFamilia.ToList(), OrcaSegSubFamilia.First().SubFamilia.Id, canalId);
            }
        }
コード例 #3
0
        public void Criar(OrcamentodoCanalporSubFamilia mOrcamentodoCanalporSubFamilia, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid subfamiliaId, Guid canalId)
        {
            OrcamentodoCanalporProduto mOrcamentodaUnidadeporProduto;
            var lstOrcamentoporSegSubFamilia = (from x in lstOrcamentoDetalhado
                                                group x by string.Format("{0}/{1}/{2}/{3}", x.Segmento.Id, x.Familia.Id, x.SubFamilia.Id, x.Produto.Id));

            foreach (var OrcaProduto in lstOrcamentoporSegSubFamilia)
            {
                if (OrcaProduto.First().Produto.Id != Guid.Empty)
                {
                    mOrcamentodaUnidadeporProduto = RepositoryService.OrcamentodoCanalporProduto.ObterOrcCanalProduto(canalId, OrcaProduto.First().Produto.Id, mOrcamentodoCanalporSubFamilia.ID.Value, (int)mOrcamentodoCanalporSubFamilia.Trimestre);

                    if (mOrcamentodaUnidadeporProduto == null)
                    {
                        mOrcamentodaUnidadeporProduto     = new OrcamentodoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                        mOrcamentodaUnidadeporProduto.ID  = Guid.NewGuid();
                        mOrcamentodaUnidadeporProduto.Ano = mOrcamentodoCanalporSubFamilia.Ano;
                        //mOrcamentodaUnidadeporProduto.UnidadeNegocio = new Lookup(OrcaProduto.First().UnidadeNegocio.Id, SDKore.Crm.Util.Utility.GetEntityName<UnidadeNegocio>());
                        mOrcamentodaUnidadeporProduto.Trimestre = mOrcamentodoCanalporSubFamilia.Trimestre;
                        mOrcamentodaUnidadeporProduto.Produto   = new Lookup(OrcaProduto.First().Produto.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Product>());
                        mOrcamentodaUnidadeporProduto.OrcamentodoCanalporSubFamilia = new Lookup(mOrcamentodoCanalporSubFamilia.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodoCanalporSubFamilia>());
                        mOrcamentodaUnidadeporProduto.Nome  = OrcaProduto.First().Produto.Name;
                        mOrcamentodaUnidadeporProduto.Canal = new Lookup(OrcaProduto.First().Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>());

                        RepositoryService.OrcamentodoCanalporProduto.Create(mOrcamentodaUnidadeporProduto);
                        ServiceOrcamentodoCanalDetalhadoporProduto.Criar(mOrcamentodaUnidadeporProduto, canalId);
                    }
                }
            }
        }
コード例 #4
0
        public void Atualizar(OrcamentoDetalhado mOrcamentoDetalhado, OrcamentodoCanalporSubFamilia mOrcCanalporSubFamilia, Trimestre trimestre)
        {
            OrcamentodoCanalporProduto mOrcamentodoCanalporProduto = RepositoryService.OrcamentodoCanalporProduto.ObterOrcamentoCanalporProduto(mOrcamentoDetalhado.ProdutoID.Value, mOrcCanalporSubFamilia.ID.Value);

            mOrcamentodoCanalporProduto.OrcamentoPlanejado += trimestre.Mes1Vlr.Value + trimestre.Mes2Vlr.Value + trimestre.Mes3Vlr.Value;
            mOrcamentodoCanalporProduto.QtdePlanejada      += trimestre.Mes1Qtde.Value + trimestre.Mes2Qtde.Value + trimestre.Mes3Qtde.Value;

            ServiceOrcamentodoCanalDetalhadoporProduto.Calcular(mOrcamentodoCanalporProduto, trimestre);
            RepositoryService.OrcamentodoCanalporProduto.Update(mOrcamentodoCanalporProduto);
        }