Пример #1
0
        public void Criar(OrcamentodoCanalporSegmento mOrcamentodoCanalporSegmento, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid SegmentoId, Guid canalId)
        {
            OrcamentodoCanalporFamilia mOrcamentodoCanalporFamilia;
            var lstorcamentoporsegfamilia = (from x in lstOrcamentoDetalhado
                                             //where x.Segmento.Id == SegmentoId && x.Canal.Id == canalId
                                             group x by string.Format("{0}/{1}", x.Familia.Id, x.Segmento.Id));

            foreach (var OrcaSegFamilia in lstorcamentoporsegfamilia)
            {
                mOrcamentodoCanalporFamilia = RepositoryService.OrcamentodoCanalporFamilia.ObterOrcamentoCanalFamilia(canalId, mOrcamentodoCanalporSegmento.ID.Value, OrcaSegFamilia.First().Segmento.Id, OrcaSegFamilia.First().Familia.Id, mOrcamentodoCanalporSegmento.Trimestre.Value);
                if (mOrcamentodoCanalporFamilia == null)
                {
                    mOrcamentodoCanalporFamilia                             = new OrcamentodoCanalporFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mOrcamentodoCanalporFamilia.ID                          = Guid.NewGuid();
                    mOrcamentodoCanalporFamilia.Canal                       = new Lookup(canalId, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>());
                    mOrcamentodoCanalporFamilia.UnidadedeNegocio            = mOrcamentodoCanalporSegmento.UnidadedeNegocio;
                    mOrcamentodoCanalporFamilia.Ano                         = mOrcamentodoCanalporSegmento.Ano;
                    mOrcamentodoCanalporFamilia.Trimestre                   = mOrcamentodoCanalporSegmento.Trimestre;
                    mOrcamentodoCanalporFamilia.Segmento                    = new Lookup(OrcaSegFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mOrcamentodoCanalporFamilia.FamiliadeProduto            = new Lookup(OrcaSegFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>());
                    mOrcamentodoCanalporFamilia.OrcamentodoCanalporSegmento = new Lookup(mOrcamentodoCanalporSegmento.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodoCanalporSegmento>());

                    mOrcamentodoCanalporFamilia.Nome = (mOrcamentodoCanalporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).ToString().Length > 99 ?
                                                       (mOrcamentodoCanalporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).Substring(1, 99)
                        : (mOrcamentodoCanalporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name);

                    RepositoryService.OrcamentodoCanalporFamilia.Create(mOrcamentodoCanalporFamilia);
                }
                ServiceOrcamentodoCanalporSubFamilia.Criar(mOrcamentodoCanalporFamilia, OrcaSegFamilia.ToList(), OrcaSegFamilia.First().Familia.Id, canalId);
            }
        }
        public void Criar(PotencialdoSupervisorporSegmento mPotencialdoSupervisorporSegmento, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado)
        {
            PotencialdoSupervisorporFamilia mPotencialdoSupervisorporFamilia;
            var lstorcamentoporsegfamilia = (from x in lstOrcamentoDetalhado
                                             group x by string.Format("{0}/{1}", x.Familia.Id, x.Segmento.Id));

            foreach (var OrcaSegFamilia in lstorcamentoporsegfamilia)
            {
                mPotencialdoSupervisorporFamilia = RepositoryService.PotencialdoSupervisorporFamilia.Obter(OrcaSegFamilia.First().Segmento.Id, OrcaSegFamilia.First().Familia.Id, mPotencialdoSupervisorporSegmento.ID.Value, OrcaSegFamilia.First().Canal.Id, mPotencialdoSupervisorporSegmento.Trimestre.Value);
                if (mPotencialdoSupervisorporFamilia == null)
                {
                    mPotencialdoSupervisorporFamilia                  = new PotencialdoSupervisorporFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mPotencialdoSupervisorporFamilia.ID               = Guid.NewGuid();
                    mPotencialdoSupervisorporFamilia.Supervisor       = new Lookup(OrcaSegFamilia.First().Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Usuario>());
                    mPotencialdoSupervisorporFamilia.UnidadedeNegocio = mPotencialdoSupervisorporSegmento.UnidadedeNegocios;
                    mPotencialdoSupervisorporFamilia.Ano              = mPotencialdoSupervisorporSegmento.Ano;
                    mPotencialdoSupervisorporFamilia.Trimestre        = mPotencialdoSupervisorporSegmento.Trimestre;
                    mPotencialdoSupervisorporFamilia.Segmento         = new Lookup(OrcaSegFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mPotencialdoSupervisorporFamilia.FamiliadoProduto = new Lookup(OrcaSegFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>());
                    mPotencialdoSupervisorporFamilia.PotencialdoSupervisorporSegmento = new Lookup(mPotencialdoSupervisorporSegmento.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.PotencialdoSupervisorporSegmento>());

                    mPotencialdoSupervisorporFamilia.Nome = (mPotencialdoSupervisorporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).ToString().Length > 99 ?
                                                            (mPotencialdoSupervisorporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).Substring(1, 99)
                        : (mPotencialdoSupervisorporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name);

                    RepositoryService.PotencialdoSupervisorporFamilia.Create(mPotencialdoSupervisorporFamilia);
                }
                ServicePotencialdoSupervisorporSubfamilia.Criar(mPotencialdoSupervisorporFamilia, OrcaSegFamilia.ToList());
            }
        }
        public void Criar(Guid metaunidadeId, MetadaUnidadeporSegmento mMetadaUnidadeporSegmento, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid SegmentoId)
        {
            var lstorcamentoporsegfamilia = (from x in lstOrcamentoDetalhado
                                             group x by string.Format("{0}/{1}", x.Segmento.Id, x.Familia.Id));

            foreach (var OrcaSegFamilia in lstorcamentoporsegfamilia)
            {
                MetadaUnidadeporFamilia mMetadaUnidadeporFamilia;
                mMetadaUnidadeporFamilia = RepositoryService.MetadaUnidadeporFamilia.Obter(OrcaSegFamilia.First().Familia.Id, mMetadaUnidadeporSegmento.ID.Value);
                if (mMetadaUnidadeporFamilia == null)
                {
                    mMetadaUnidadeporFamilia    = new MetadaUnidadeporFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mMetadaUnidadeporFamilia.ID = Guid.NewGuid();
                    mMetadaUnidadeporFamilia.UnidadedeNegocio = mMetadaUnidadeporSegmento.UnidadedeNegocios;
                    mMetadaUnidadeporFamilia.Ano            = mMetadaUnidadeporSegmento.Ano;
                    mMetadaUnidadeporFamilia.Trimestre      = mMetadaUnidadeporSegmento.Trimestre;
                    mMetadaUnidadeporFamilia.Segmento       = new Lookup(OrcaSegFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mMetadaUnidadeporFamilia.Familia        = new Lookup(OrcaSegFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>());
                    mMetadaUnidadeporFamilia.MetadoSegmento = new Lookup(mMetadaUnidadeporSegmento.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporSegmento>());
                    mMetadaUnidadeporFamilia.Nome           = (mMetadaUnidadeporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).ToString().Length > 99 ?
                                                              (mMetadaUnidadeporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).Substring(1, 99)
                        : (mMetadaUnidadeporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name);

                    RepositoryService.MetadaUnidadeporFamilia.Create(mMetadaUnidadeporFamilia);
                }

                ServiceMetadaUnidadeporSubfamilia.Criar(metaunidadeId, mMetadaUnidadeporFamilia, OrcaSegFamilia.ToList(), OrcaSegFamilia.First().Familia.Id);
            }
        }
        public void Criar(PotencialdoKAporSegmento mPotencialdoKAporSegmento, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid representanteId, int numTrimestre)
        {
            PotencialdoKAporFamilia mPotencialdoKAporFamilia = null;

            var lstorcamentoporsegfamilia = (from x in lstOrcamentoDetalhado
                                             group x by string.Format("{0}/{1}", x.Familia.Id, x.Segmento.Id));

            foreach (var OrcaSegFamilia in lstorcamentoporsegfamilia)
            {
                mPotencialdoKAporSegmento = RepositoryService.PotencialdoKAporSegmento.Retrieve(mPotencialdoKAporSegmento.ID.Value);
                PotencialdoKAporFamilia tempFamilia = RepositoryService.PotencialdoKAporFamilia.ObterPor(OrcaSegFamilia.First().Segmento.Id, OrcaSegFamilia.First().Familia.Id, representanteId, numTrimestre);
                if (tempFamilia == null)
                {
                    mPotencialdoKAporFamilia    = new PotencialdoKAporFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mPotencialdoKAporFamilia.ID = Guid.NewGuid();
                    mPotencialdoKAporFamilia.KAouRepresentante = new Lookup(representanteId, SDKore.Crm.Util.Utility.GetEntityName <Model.Contato>());
                    mPotencialdoKAporFamilia.UnidadedeNegocio  = mPotencialdoKAporSegmento.UnidadedeNegocio;
                    mPotencialdoKAporFamilia.Ano                      = mPotencialdoKAporSegmento.Ano;
                    mPotencialdoKAporFamilia.Trimestre                = numTrimestre;
                    mPotencialdoKAporFamilia.Segmento                 = new Lookup(OrcaSegFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mPotencialdoKAporFamilia.FamiliadeProduto         = new Lookup(OrcaSegFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>());
                    mPotencialdoKAporFamilia.PotencialdoKAporSegmento = new Lookup(mPotencialdoKAporSegmento.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.PotencialdoKAporSegmento>());

                    mPotencialdoKAporFamilia.Nome = (mPotencialdoKAporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).ToString().Length > 99 ?
                                                    (mPotencialdoKAporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).Substring(1, 99)
                        : (mPotencialdoKAporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name);

                    RepositoryService.PotencialdoKAporFamilia.Create(mPotencialdoKAporFamilia);
                }
                if (tempFamilia != null)
                {
                    ServicePotencialdoKAporSubFamilia.Criar(tempFamilia, OrcaSegFamilia.ToList(), representanteId, numTrimestre);
                }
                else
                {
                    ServicePotencialdoKAporSubFamilia.Criar(mPotencialdoKAporFamilia, OrcaSegFamilia.ToList(), representanteId, numTrimestre);
                }
            }
        }