Example #1
0
        public int SetExpirationsCommunity(
            IList <Domain.dtoExpirationConfig> config,
            int CommunityId)
        {
            if (!Manager.IsInTransaction())
            {
                Manager.BeginTransaction();
            }

            try
            {
                IList <Domain.ExpirationConfig> actualConfig =
                    Manager.GetAll <Domain.ExpirationConfig>(c => c.CommunityId == CommunityId);

                foreach (Domain.ExpirationConfig conf in actualConfig)
                {
                    Domain.dtoExpirationConfig newCfg = config.FirstOrDefault(c => c.RoleId == conf.RoleId);

                    if (newCfg != null && newCfg.Duration != conf.Duration)
                    {
                        conf.UpdateMetaInfo(Manager.GetLitePerson(UC.CurrentUserID), UC.IpAddress, UC.ProxyIpAddress);
                        conf.Duration = newCfg.Duration;

                        Manager.SaveOrUpdate <Domain.ExpirationConfig>(conf);
                    }
                }

                IList <int> OldRoleId = actualConfig.Select(c => c.RoleId).ToList();


                foreach (Domain.dtoExpirationConfig newCfg in config.Where(c => c.Id == 0 || !OldRoleId.Contains(c.RoleId)))
                {
                    Domain.ExpirationConfig conf = new Domain.ExpirationConfig();
                    conf.CreateMetaInfo(Manager.GetLitePerson(UC.CurrentUserID), UC.IpAddress, UC.ProxyIpAddress);
                    conf.CommunityId     = CommunityId;
                    conf.CommunityTypeId = 0;
                    conf.Duration        = newCfg.Duration;
                    conf.RoleId          = newCfg.RoleId;

                    Manager.SaveOrUpdate <Domain.ExpirationConfig>(conf);

                    actualConfig.Add(conf);
                }


                Manager.SaveOrUpdateList <Domain.ExpirationConfig>(actualConfig);

                Manager.Commit();

                CacheHelper.CommunityRoleReset(CommunityId);
            }
            catch
            {
                Manager.RollBack();
                return(-1);
            }

            return(0);
        }
Example #2
0
        public IList <Domain.dtoExpirationConfig> GetPortalExpirationConfig(
            int CommunityTypeId,
            int LangId,
            string LangCode)
        {
            List <Domain.ExpirationConfig> oldconfiguration =
                (from Domain.ExpirationConfig conf in Manager.GetIQ <Domain.ExpirationConfig>()
                 where conf.CommunityId == 0 && conf.CommunityTypeId == CommunityTypeId
                 select conf
                ).ToList();

            List <Domain.dtoExpirationConfig> config =
                oldconfiguration.Select(c => new Domain.dtoExpirationConfig(c))
                .ToList();

            IList <int> idRoles  = Manager.GetAvailableRolesByType(CommunityTypeId);
            IList <int> oldRoles = (from Domain.dtoExpirationConfig conf in config select conf.RoleId).ToList();
            IList <int> newRoles = idRoles.Except(oldRoles).ToList();

            if (newRoles != null && newRoles.Any())
            {
                foreach (int newroleId in newRoles)
                {
                    Domain.dtoExpirationConfig newcfg = new Domain.dtoExpirationConfig();
                    newcfg.Duration = -1;
                    newcfg.RoleId   = newroleId;

                    config.Add(newcfg);
                }
            }


            if (config != null && config.Any())
            {
                config.ForEach(c =>
                {
                    c.RoleName     = Manager.GetTranslatedRole(c.RoleId, LangId);
                    c.DurationName = settings.GetValidityName(LangCode, c.Duration);
                }
                               );
            }

            return(config);
        }
Example #3
0
        public IList <Domain.dtoExpirationConfig> GetCommunityExpirationConfig(
            int CommunityId,
            int LangId,
            string LangCode)
        {
            Language defLang = Manager.GetDefaultLanguage();

            if (defLang == null)
            {
                defLang      = new Language();
                defLang.Code = "us-EN";
                defLang.Id   = 1;
            }

            if (LangId <= 0)
            {
                LangId = defLang.Id;
            }

            if (string.IsNullOrWhiteSpace(LangCode))
            {
                LangCode = defLang.Code;
            }

            List <Domain.ExpirationConfig> oldcfg = (from Domain.ExpirationConfig conf in Manager.GetIQ <Domain.ExpirationConfig>()
                                                     where conf.CommunityId == CommunityId
                                                     select conf
                                                     ).ToList();

            List <Domain.dtoExpirationConfig> config = oldcfg.Select(c => new Domain.dtoExpirationConfig(c)).ToList();

            IList <int> idCommunityRoles = Manager.GetAvailableRoles(CommunityId);
            IList <int> oldRoles         = (from Domain.dtoExpirationConfig conf in config select conf.RoleId).ToList();
            IList <int> newRoles         = idCommunityRoles.Except(oldRoles).ToList();

            if (newRoles != null && newRoles.Any())
            {
                int ComTypeId = Manager.GetIdCommunityType(CommunityId);

                List <Domain.ExpirationConfig> oldsysConf =
                    (from Domain.ExpirationConfig conf in Manager.GetIQ <Domain.ExpirationConfig>()
                     where conf.CommunityId == 0 && conf.CommunityTypeId == ComTypeId
                     select conf
                    ).ToList();

                List <Domain.dtoExpirationConfig> SysConfig =
                    oldsysConf.Select(c => new Domain.dtoExpirationConfig(c))
                    .ToList();

                foreach (int newroleId in newRoles)
                {
                    Domain.dtoExpirationConfig newcfg = new Domain.dtoExpirationConfig();
                    newcfg.RoleId = newroleId;

                    Domain.dtoExpirationConfig sysConf = SysConfig.FirstOrDefault(c => c.RoleId == newroleId);

                    if (sysConf != null && sysConf.RoleId > 0)
                    {
                        newcfg.Duration = sysConf.Duration;
                    }
                    else
                    {
                        newcfg.Duration = -1;
                    }

                    config.Add(newcfg);
                }
            }

            if (config != null && config.Any())
            {
                config.ForEach(c =>
                {
                    c.RoleName     = Manager.GetTranslatedRole(c.RoleId, LangId);
                    c.DurationName = settings.GetValidityName(LangCode, c.Duration);
                }
                               );
            }

            return(config);
        }