public void AtualizarFaturamentoDoSegmento(int ano, int trimestre)
        {
            List <OrcamentodaUnidade> lstOrcamentodaUnidade = RepositoryService.OrcamentodaUnidade.ListarOrcamentos(ano);

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

            DataTable dtOrcamentoTrimestreSeg = RepositoryService.OrcamentodaUnidadeporSegmento.ListarOrcamentoSegmentoDW(ano, trimestre, lstOrcamentodaUnidade);

            foreach (DataRow item in dtOrcamentoTrimestreSeg.Rows)
            {
                UnidadeNegocio mUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString());
                Segmento       mSegmento       = RepositoryService.Segmento.ObterPor(item["cd_segmento"].ToString());

                if (mUnidadeNegocio != null && mSegmento != null)
                {
                    OrcamentodaUnidadeporSegmento orcamentoUnidadePorSegmento = RepositoryService.OrcamentodaUnidadeporSegmento
                                                                                .ObterOrcamentoSegmento(mUnidadeNegocio.ID.Value, ano, trimestre, mSegmento.ID.Value, "itbc_orcamentoporsegmentoid");

                    if (orcamentoUnidadePorSegmento != null)
                    {
                        orcamentoUnidadePorSegmento.OrcamentoRealizado = item.Field <decimal>("vlr");
                        RepositoryService.OrcamentodaUnidadeporSegmento.Update(orcamentoUnidadePorSegmento);
                    }
                }
            }
        }
        public void Criar(OrcamentodaUnidadeporTrimestre mOrcamentodaUnidadeporTrimestre, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado)
        {
            var lstOrcamentoporSegmento = (from x in lstOrcamentoDetalhado
                                           group x by string.Format("{0}", x.Segmento.Id));

            foreach (var OrcaSegmento in lstOrcamentoporSegmento)
            {
                OrcamentodaUnidadeporSegmento mOrcamentodaUnidadeporSegmento;
                mOrcamentodaUnidadeporSegmento = RepositoryService.OrcamentodaUnidadeporSegmento.ObterOrcamentoSegmento(OrcaSegmento.First().Segmento.Id, mOrcamentodaUnidadeporTrimestre.ID.Value);
                if (mOrcamentodaUnidadeporSegmento == null)
                {
                    mOrcamentodaUnidadeporSegmento                  = new OrcamentodaUnidadeporSegmento(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mOrcamentodaUnidadeporSegmento.ID               = Guid.NewGuid();
                    mOrcamentodaUnidadeporSegmento.Nome             = mOrcamentodaUnidadeporTrimestre.Nome + " - " + OrcaSegmento.First().Segmento.Name;
                    mOrcamentodaUnidadeporSegmento.UnidadedeNegocio = mOrcamentodaUnidadeporTrimestre.UnidadedeNegocio;
                    mOrcamentodaUnidadeporSegmento.Ano              = mOrcamentodaUnidadeporTrimestre.Ano;
                    mOrcamentodaUnidadeporSegmento.Trimestre        = mOrcamentodaUnidadeporTrimestre.Trimestre;
                    //mOrcamentodaUnidadeporSegmento.Segmento = new Lookup(item.Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName<Model.Segmento>());
                    mOrcamentodaUnidadeporSegmento.Segmento = new Lookup(OrcaSegmento.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mOrcamentodaUnidadeporSegmento.OrcamentoporTrimestredaUnidade = new Lookup(mOrcamentodaUnidadeporTrimestre.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporTrimestre>());

                    RepositoryService.OrcamentodaUnidadeporSegmento.Create(mOrcamentodaUnidadeporSegmento);
                }

                ServiceOrcamentodaUnidadeporFamilia.Criar(mOrcamentodaUnidadeporTrimestre.OrcamentoporUnidade.Id, mOrcamentodaUnidadeporSegmento, OrcaSegmento.ToList(), OrcaSegmento.First().Segmento.Id);
            }
        }
Пример #3
0
        public void Criar(Guid orcamentounidadeId, OrcamentodaUnidadeporSegmento mOrcamentodaUnidadeporSegmento, 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)
            {
                OrcamentodaUnidadeporFamilia mOrcamentodaUnidadeporSegFamilia;
                mOrcamentodaUnidadeporSegFamilia = RepositoryService.OrcamentodaUnidadeporFamilia.ObterOrcamentoFamilia(OrcaSegFamilia.First().Familia.Id, mOrcamentodaUnidadeporSegmento.ID.Value);
                if (mOrcamentodaUnidadeporSegFamilia == null)
                {
                    mOrcamentodaUnidadeporSegFamilia    = new OrcamentodaUnidadeporFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mOrcamentodaUnidadeporSegFamilia.ID = Guid.NewGuid();
                    mOrcamentodaUnidadeporSegFamilia.UnidadedeNegocio = mOrcamentodaUnidadeporSegmento.UnidadedeNegocio;
                    mOrcamentodaUnidadeporSegFamilia.Ano                  = mOrcamentodaUnidadeporSegmento.Ano;
                    mOrcamentodaUnidadeporSegFamilia.Trimestre            = mOrcamentodaUnidadeporSegmento.Trimestre;
                    mOrcamentodaUnidadeporSegFamilia.Segmento             = new Lookup(OrcaSegFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>());
                    mOrcamentodaUnidadeporSegFamilia.FamiliadeProduto     = new Lookup(OrcaSegFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>());
                    mOrcamentodaUnidadeporSegFamilia.OrcamentoporSegmento = new Lookup(mOrcamentodaUnidadeporSegmento.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporSegmento>());
                    mOrcamentodaUnidadeporSegFamilia.Nome                 = (mOrcamentodaUnidadeporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).ToString().Length > 99 ?
                                                                            (mOrcamentodaUnidadeporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name).Substring(1, 99)
                        : (mOrcamentodaUnidadeporSegmento.Nome + " - " + OrcaSegFamilia.First().Familia.Name);

                    RepositoryService.OrcamentodaUnidadeporFamilia.Create(mOrcamentodaUnidadeporSegFamilia);
                }

                ServiceOrcamentodaUnidadeporSubFamilia.Criar(orcamentounidadeId, mOrcamentodaUnidadeporSegFamilia, OrcaSegFamilia.ToList(), OrcaSegFamilia.First().Familia.Id);
            }
        }