private bool CreateExtendField(ExtendedFieldType fieldType)
        {
            MessageDisplay msgDisplay  = CreateMessageDisplay();
            ExtendedField  extendFiled = GetExtendFieldInfo(fieldType);

            extendFiled.Key = Guid.NewGuid().ToString();

            ExtendedFieldSettings settings = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

            settings.Version = Guid.NewGuid().ToString();

            foreach (ExtendedField field in AllSettings.Current.ExtendedFieldSettings.Fields)
            {
                if (string.Compare(extendFiled.Name, field.Name, true) == 0)
                {
                    msgDisplay.AddError("已经存在同名的扩展字段\"" + field.Name + "\",请更换名称");
                    break;
                }
            }

            if (msgDisplay.HasAnyError())
            {
                return(false);
            }

            settings.Fields.Add(extendFiled);

            SettingManager.SaveSettings(settings);
            return(true);
        }
예제 #2
0
        public override bool BeforeSaveSettings(RoleSettings roleSettings)
        {
            if (My.IsOwner)
            {
                PermissionSettings settings = SettingManager.CloneSetttings <PermissionSettings>(AllSettings.Current.PermissionSettings);

                settings.ContentPermissionLimit.LimitType = _Request.Get <PermissionLimitType>("ContentPermissionLimit", Method.Post, PermissionLimitType.RoleLevelLowerMe);
                settings.UserPermissionLimit.LimitType    = _Request.Get <PermissionLimitType>("UserPermissionLimit", Method.Post, PermissionLimitType.RoleLevelLowerMe);

                if (settings.ContentPermissionLimit.LimitType == PermissionLimitType.ExcludeCustomRoles)
                {
                    string key = "content.{0}.{1}";
                    GetLimitRoleList(key, settings.ContentPermissionLimit);
                }

                if (settings.UserPermissionLimit.LimitType == PermissionLimitType.ExcludeCustomRoles)
                {
                    string key = "user.{0}.{1}";
                    GetLimitRoleList(key, settings.UserPermissionLimit);
                }

                SettingManager.SaveSettings(settings);
            }

            return(true);
        }
예제 #3
0
        /*
         * /// <summary>
         * ///
         * /// </summary>
         * /// <param name="throwOverMaxValueError"></param>
         * /// <param name="throwOverMinValueError"></param>
         * /// <param name="userID"></param>
         * /// <param name="points">正数加分 负数减分</param>
         * /// <param name="userPoints"></param>
         * /// <returns></returns>
         * public static bool CheckPoints(bool throwOverMaxValueError, bool throwOverMinValueError, int userID, int[] points, out int[] userPoints)
         * {
         *  return CheckPoints(throwOverMaxValueError, throwOverMinValueError, userID, points, true, out userPoints);
         * }
         * /// <summary>
         * /// 检查积分 上下限
         * /// </summary>
         * /// <param name="userID"></param>
         * /// <param name="points">要更新的积分值  8个</param>
         * /// <param name="isAdd">如果为false 则points就是最终的积分 而不是增加或减少的积分 </param>
         * /// <param name="resultPoints">如果检查成功 则返回用户更新后的积分</param>
         * /// <returns></returns>
         * public static bool CheckPoints(bool throwOverMaxValueError, bool throwOverMinValueError, int userID, int[] points, bool isAdd, out int[] userPoints)
         * {
         *
         *  User user = UserBO.Instance.GetUser(userID);
         *  userPoints = null;
         *  foreach (UserPoint userPoint in AllSettings.Current.PointSettings.UserPoints)
         *  {
         *      int pointID = (int)userPoint.Type;
         *
         *      if (userPoint.Enable)
         *      {
         *          int resultPoint;
         *          if (isAdd)
         *              resultPoint = user.ExtendedPoints[pointID] + points[pointID];
         *          else
         *              resultPoint = points[pointID];
         *          if (points[pointID] > 0)
         *          {
         *
         *              if (resultPoint > userPoint.MaxValue)
         *              {
         *                  if (throwOverMaxValueError)
         *                  {
         *                      Context.ThrowError<UserPointOverMaxValueError>(new UserPointOverMaxValueError("UserPointOverMaxValueError", userPoint.Type, userPoint.MaxValue - user.ExtendedPoints[pointID], user.ExtendedPoints[pointID] + points[pointID], userPoint.MaxValue));
         *                      return false;
         *                  }
         *                  if (isAdd)
         *                  {
         *                      if (user.ExtendedPoints[pointID] > userPoint.MaxValue)//原来已经大于上限  保留原值
         *                          points[pointID] = user.ExtendedPoints[pointID];
         *                      else
         *                          points[pointID] = userPoint.MaxValue;
         *                  }
         *                  else
         *                      points[pointID] = userPoint.MaxValue;
         *              }
         *              else
         *                  points[pointID] = resultPoint;
         *          }
         *          else if (points[pointID] < 0)
         *          {
         *              if (resultPoint < userPoint.MinValue)
         *              {
         *                  if (throwOverMinValueError)
         *                  {
         *                      Context.ThrowError<UserPointOverMinValueError>(new UserPointOverMinValueError("UserPointOverMinValueError", userPoint.Type, user.ExtendedPoints[pointID] - userPoint.MinValue, user.ExtendedPoints[pointID] + points[pointID], userPoint.MinValue));
         *                      return false;
         *                  }
         *                  if (isAdd)
         *                  {
         *                      if (user.ExtendedPoints[pointID] < userPoint.MinValue)//原来已经小于下限  保留原值
         *                          points[pointID] = user.ExtendedPoints[pointID];
         *                      else
         *                          points[pointID] = userPoint.MinValue;
         *                  }
         *                  else
         *                      points[pointID] = userPoint.MinValue;
         *              }
         *              else
         *                  points[pointID] = resultPoint;
         *          }
         *          else
         *          {
         *              if(isAdd)
         *                  points[pointID] = user.ExtendedPoints[pointID];
         *          }
         *      }
         *      else
         *      {
         *          if (isAdd)
         *              points[pointID] = user.ExtendedPoints[pointID];
         *      }
         *  }
         *  userPoints = points;
         *
         *  return true;
         * }
         */

        #region  积分相关设置
        public static bool AddPointExchangeRule(UserPointType pointType, UserPointType targetPointType)
        {
            PointExchangeRule rule = new PointExchangeRule();

            rule.PointType       = pointType;
            rule.TargetPointType = targetPointType;

            if (pointType == targetPointType)
            {
                Context.ThrowError <UserPointCannotExchangeError>(new UserPointCannotExchangeError("UserPointCannotExchangeError", rule.UserPoint.Name, rule.TargetUserPoint.Name));
                return(false);
            }

            if (rule.UserPoint.Enable == false)
            {
                Context.ThrowError <UserPointExchangeUnenabledPointError>(new UserPointExchangeUnenabledPointError("UserPointExchangeUnenabledPointError", rule.UserPoint.Name, rule.TargetUserPoint.Name, rule.UserPoint.Name));
                return(false);
            }

            if (rule.TargetUserPoint.Enable == false)
            {
                Context.ThrowError <UserPointExchangeUnenabledPointError>(new UserPointExchangeUnenabledPointError("UserPointExchangeUnenabledPointError", rule.UserPoint.Name, rule.TargetUserPoint.Name, rule.TargetUserPoint.Name));
                return(false);
            }


            PointExchangeRuleCollection rules = AllSettings.Current.PointSettings.PointExchangeRules;


            PointExchangeRuleCollection tempRules = new PointExchangeRuleCollection();

            foreach (PointExchangeRule tempRule in rules)
            {
                if (rule.Key == tempRule.Key)
                {
                    Context.ThrowError <UserPointIsExistsExchangeRuleError>(new UserPointIsExistsExchangeRuleError("UserPointIsExistsExchangeRuleError", rule.UserPoint.Name, rule.TargetUserPoint.Name));
                    return(false);
                }
                tempRules.Add(tempRule);
            }

            tempRules.Add(rule);

            if (HasUnCatchedError)
            {
                return(false);
            }

            PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

            setting.PointExchangeRules = tempRules;
            if (!SettingManager.SaveSettings(setting))
            {
                return(false);
            }
            //AllSettings.Current.PointSettings = setting;
            return(true);
        }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (AllSettings.Current.BackendPermissions.Can(My, BackendPermissions.Action.Setting_ExtendedField) == false)
            {
                ShowError("没有权限删除扩展字段");
            }

            if (_Request.IsClick("delete"))
            {
                string key = Request.QueryString["key"];

                if (key != null)
                {
                    if (Field.IsPassport)
                    {
                        ShowError("您试图删除的是passport服务器端的扩展字段,这是不允许的");
                    }

                    //ExtendedField[] fields = AllSettings.Current.ExtendedFieldSettings.Fields.ToArray();

                    ExtendedFieldSettings settings = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

                    ExtendedFieldCollection fields = new ExtendedFieldCollection();

                    ExtendedField deletedField = null;
                    foreach (ExtendedField field in settings.Fields)
                    {
                        if (field.Key != key)
                        {
                            fields.Add(field);
                        }
                        else
                        {
                            deletedField = field;
                        }
                    }

                    settings.Fields = fields;

                    SettingManager.SaveSettings(settings);

                    if (deletedField != null)
                    {
                        UserBO.Instance.DeleteUserExtendFields(deletedField.Key);
                        UserBO.Instance.Server_UpdatePassportUserExtendFieldCache(fields);
                    }

                    Return("id", key);
                }
            }
        }
        private bool UpdateExtendField(ExtendedFieldType fieldType, string key)
        {
            MsgDisplayForSaveSettings = CreateMessageDisplay();
            ExtendedField extendFiled = GetExtendFieldInfo(fieldType);

            extendFiled.Key = key;

            ExtendedFieldSettings settings = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

            settings.Version = Guid.NewGuid().ToString();

            ExtendedFieldCollection fields = new ExtendedFieldCollection();

            ExtendedFieldDisplayType?oldDisplayType = null;

            foreach (ExtendedField field in settings.Fields)
            {
                if (field.Key == extendFiled.Key)
                {
                    fields.Add(extendFiled);
                    oldDisplayType = field.DisplayType;
                }
                else
                {
                    if (string.Compare(extendFiled.Name, field.Name, true) == 0)
                    {
                        MsgDisplayForSaveSettings.AddError("已经存在同名的扩展字段\"" + field.Name + "\",请更换名称");
                        break;
                    }
                    else
                    {
                        fields.Add(field);
                    }
                }
            }

            if (MsgDisplayForSaveSettings.HasAnyError())
            {
                return(false);
            }

            if (oldDisplayType != null && extendFiled.DisplayType != oldDisplayType.Value)
            {
                UserBO.Instance.UpdateUserExtendFieldPrivacy(extendFiled.Key, extendFiled.DisplayType);
            }

            settings.Fields = fields;
            SettingManager.SaveSettings(settings);
            return(true);
        }
        private void Enable()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay();

            bool enable = _Request.IsChecked("enable", Method.Post, false);

            PointSettings setting = SettingManager.CloneSetttings <PointSettings>(PointSettings);

            setting.EnablePointExchange = enable;

            try
            {
                SettingManager.SaveSettings(setting);
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #7
0
        protected void Delete()
        {
            int id = _Request.Get <int>("id", Method.Get, 0);

            if (id <= 0)
            {
                ShowError("参数id错误");
            }


            NavigationSettingsBase settings;

            if (IsTopLink)
            {
                settings = SettingManager.CloneSetttings <TopLinkSettings2>(AllSettings.Current.TopLinkSettings2);
            }
            else
            {
                settings = SettingManager.CloneSetttings <NavigationSettings>(AllSettings.Current.NavigationSettings);
            }

            settings.Navigations.RemoveByKey(id);

            try
            {
                SettingManager.SaveSettings(settings);
                if (IsTopLink)
                {
                    AllSettings.Current.TopLinkSettings2.ClearCache();
                }
                else
                {
                    AllSettings.Current.NavigationSettings.ClearCache();
                }
                Return(id);
            }
            catch (Exception ex)
            {
                ShowError(ex.Message);
            }
        }
        private void SaveList()
        {
            StringTable passportSorts   = new StringTable();
            StringTable passportEnables = new StringTable();

            string keys = _Request.Get("extendfieldEnable", Method.Post, string.Empty);

            List <string> enableKeys = StringUtil.Split2 <string>(keys);

            ExtendedFieldSettings fieldSetting = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

            ExtendedFieldCollection fields = new ExtendedFieldCollection();

            foreach (ExtendedField field in fieldSetting.FieldsWithPassport)
            {
                int sortOrder = _Request.Get <int>(field.Key + "_sortOrder", Method.Post, 0);;
                if (field.IsPassport)
                {
                    passportSorts.Add(field.Key, sortOrder.ToString());
                    if (enableKeys.Contains(field.Key) == false)
                    {
                        passportEnables.Add(field.Key, "0");
                    }
                    //field.SortOrder = sortOrder;
                }
                else
                {
                    field.SortOrder = sortOrder;
                    fields.Add(field);
                }
            }

            fieldSetting.Fields        = fields;
            fieldSetting.PassportSorts = passportSorts;
            fieldSetting.IsEnables     = passportEnables;


            SettingManager.SaveSettings(fieldSetting);

            UserBO.Instance.RemoveAllUserCache();
        }
예제 #9
0
        /// <summary>
        /// 删除等级图标设置
        /// </summary>
        /// <param name="pointType"></param>
        /// <returns></returns>
        public static bool DeletePointIcon(UserPointType pointType)
        {
            lock (AllSettings.Current.PointSettings)
            {
                PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

                for (int i = 0; i < setting.PointIcons.Count; i++)
                {
                    if (setting.PointIcons[i].PointType == pointType)
                    {
                        setting.PointIcons.RemoveAt(i);
                        break;
                    }
                }

                bool success = SettingManager.SaveSettings(setting);

                //if (success)
                //    AllSettings.Current.PointSettings = setting;
                return(success);
            }
        }
예제 #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (_Request.IsClick("savesetting"))
            {
                SaveSettings();
            }

            else if (_Request.IsClick("delete"))
            {
                DeletePostIcon();
            }
            else if (_Request.Get("enable", Method.Get) != null)
            {
                bool enable = _Request.Get("enable", Method.Get).ToLower() == "true";
                if (AllSettings.Current.PostIconSettings.EnablePostIcon != enable)
                {
                    PostIconSettings setting = SettingManager.CloneSetttings <PostIconSettings>(AllSettings.Current.PostIconSettings);
                    setting.EnablePostIcon = enable;
                    SettingManager.SaveSettings(setting);
                }
            }
        }
예제 #11
0
        private void DeleteExchangeRule()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay();
            string         key        = _Request.Get("key", Method.Get, string.Empty);

            if (key == string.Empty)
            {
                msgDisplay.AddError(string.Format(Lang_Error.Global_InvalidParamError, "key"));
                return;
            }
            PointSettings     setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);
            PointExchangeRule rule    = setting.PointExchangeRules.GetRule(key);

            if (rule == null)
            {
                return;
            }

            setting.PointExchangeRules.Remove(rule);

            try
            {
                if (!SettingManager.SaveSettings(setting))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error.TatgetName, error.TargetLine, error.Message);
                    });
                }
                else
                {
                    AllSettings.Current.PointSettings = setting;
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #12
0
        private void SavePermission()
        {
            if (AllSettings.Current.BackendPermissions.Can(My, BackendPermissions.ActionWithTarget.Setting_Permission_Manager, Role) == false)
            {
                ShowError("您没有权限设置“" + Role.Name + "”的操作权限");
            }

            BackendPermissions permission = SettingManager.CloneSetttings <BackendPermissions>(AllSettings.Current.BackendPermissions);

            List <PermissionItem> permissionItems = new List <PermissionItem>();

            List <PermissionItem> permissionItemsWithTarget = new List <PermissionItem>();

            foreach (KeyValuePair <string, PermissionItem> item in PermissionItemTable)
            {
                PermissionItem newItem = item.Value.Clone();

                newItem.IsAllow = _Request.IsChecked("c_" + item.Key, Method.Post, false);

                permissionItems.Add(newItem);
            }

            foreach (KeyValuePair <string, PermissionItem> item in PermissionItemWithTargetTable)
            {
                PermissionItem newItem = item.Value.Clone();

                newItem.IsAllow = _Request.IsChecked("c_" + item.Key, Method.Post, false);

                permissionItemsWithTarget.Add(newItem);
            }

            permission.SetAllPermissionItems(m_Role, permissionItems, permissionItemsWithTarget);

            SettingManager.SaveSettings(permission);

            BbsRouter.JumpToCurrentUrl();
        }
예제 #13
0
        private void Save()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay("name", "url");
            int            parentid   = _Request.Get <int>("parent", Method.Post, 0);

            int[] newids = _Request.GetList <int>("newid", Method.Post, new int[] { });

            int maxID;

            if (IsTopLink)
            {
                maxID = AllSettings.Current.TopLinkSettings2.MaxID;
            }
            else
            {
                maxID = AllSettings.Current.NavigationSettings.MaxID;
            }
            NavigationItemCollection items = new NavigationItemCollection();
            int i = 0;

            int[] oldids = _Request.GetList <int>("old_id", Method.Post, new int[] { });

            foreach (int id in oldids)
            {
                NavigationItem item = new NavigationItem();
                item.ParentID  = parentid;
                item.SortOrder = _Request.Get <int>("old_sortorder_" + id, Method.Post, 0);
                item.Type      = (NavigationType)_Request.Get <int>("old_type_" + id, Method.Post, 0);
                item.Name      = _Request.Get("old_name_" + id, Method.Post, "");
                if (item.Type == NavigationType.Custom)
                {
                    item.UrlInfo = _Request.Get("old_url_" + id, Method.Post, "");
                }
                else
                {
                    item.UrlInfo = _Request.Get("old_urlinfo_" + id, Method.Post, "");
                }

                item.NewWindow       = _Request.IsChecked("old_newwindow_" + id, Method.Post, false);
                item.OnlyLoginCanSee = _Request.IsChecked("old_logincansee_" + id, Method.Post, false);

                TempNavigations.Add(item);
                i++;
                if (string.IsNullOrEmpty(item.Name) && string.IsNullOrEmpty(item.UrlInfo))
                {
                    continue;
                }
                else
                {
                    if (string.IsNullOrEmpty(item.Name))
                    {
                        msgDisplay.AddError("name", i - 1, "名称不能为空");
                    }
                    if (string.IsNullOrEmpty(item.UrlInfo))
                    {
                        msgDisplay.AddError("url", i - 1, "地址不能为空");
                    }
                }
                maxID++;
                item.ID        = maxID;
                item.IsTopLink = IsTopLink;
                items.Add(item);
            }


            foreach (int newid in newids)
            {
                NavigationItem item = new NavigationItem();

                item.ParentID  = parentid;
                item.SortOrder = _Request.Get <int>("sortorder_" + newid, Method.Post, 0);
                item.Type      = (NavigationType)_Request.Get <int>("type_" + newid, Method.Post, 0);
                item.Name      = _Request.Get("name_" + newid, Method.Post, "");
                if (item.Type == NavigationType.Custom)
                {
                    item.UrlInfo = _Request.Get("url_" + newid, Method.Post, "");
                }
                else
                {
                    item.UrlInfo = _Request.Get("urlinfo_" + newid, Method.Post, "");
                }

                item.NewWindow       = _Request.IsChecked("newwindow_" + newid, Method.Post, false);
                item.OnlyLoginCanSee = _Request.IsChecked("logincansee_" + newid, Method.Post, false);

                TempNavigations.Add(item);
                i++;
                if (string.IsNullOrEmpty(item.Name) && string.IsNullOrEmpty(item.UrlInfo))
                {
                    continue;
                }
                else
                {
                    if (string.IsNullOrEmpty(item.Name))
                    {
                        msgDisplay.AddError("name", i - 1, "名称不能为空");
                    }
                    if (string.IsNullOrEmpty(item.UrlInfo))
                    {
                        msgDisplay.AddError("url", i - 1, "地址不能为空");
                    }
                }

                maxID++;
                item.ID        = maxID;
                item.IsTopLink = IsTopLink;
                items.Add(item);
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }

            NavigationSettingsBase settings;

            if (IsTopLink)
            {
                settings = SettingManager.CloneSetttings <TopLinkSettings2>(AllSettings.Current.TopLinkSettings2);
            }
            else
            {
                settings = SettingManager.CloneSetttings <NavigationSettings>(AllSettings.Current.NavigationSettings);
            }

            settings.MaxID = maxID;
            settings.Navigations.AddRange(items);

            try
            {
                SettingManager.SaveSettings(settings);
                if (IsTopLink)
                {
                    AllSettings.Current.TopLinkSettings2.ClearCache();
                }
                else
                {
                    AllSettings.Current.NavigationSettings.ClearCache();
                }
                Return(true);
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #14
0
        private void SavePointOtherSetting()
        {
            MessageDisplay msgDisplay             = CreateMessageDisplay("generalPointName", "generalPointExpression", "pointTradeRate");
            string         generalPointName       = _Request.Get("generalPointName", Method.Post, string.Empty);
            string         generalPointExpression = _Request.Get("generalPointExpression", Method.Post, string.Empty);
            string         pointTradeRateString   = _Request.Get("pointTradeRate", Method.Post, string.Empty);

            if (generalPointName == string.Empty)
            {
                msgDisplay.AddError("generalPointName", Lang_Error.User_UserPointEmptyGeneralPointNameError);
            }

            int pointTradeRate;

            if (!int.TryParse(pointTradeRateString, out pointTradeRate))
            {
                msgDisplay.AddError("pointTradeRate", Lang_Error.User_UserPointTradeRateFormatError);
            }

            bool displayGeneralPoint = _Request.Get <bool>("displayGeneralPoint", Method.Post, true);

            if (msgDisplay.HasAnyError())
            {
                return;
            }
            try
            {
                if (!UserBO.Instance.UpdatePointsExpression(generalPointExpression))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error);
                    });
                }
                else
                {
                    PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

                    string oldExpression = setting.GeneralPointExpression;

                    setting.GeneralPointName       = generalPointName;
                    setting.GeneralPointExpression = generalPointExpression;
                    setting.TradeRate           = pointTradeRate;
                    setting.DisplayGeneralPoint = displayGeneralPoint;
                    if (!SettingManager.SaveSettings(setting))
                    {
                        CatchError <ErrorInfo>(delegate(ErrorInfo error)
                        {
                            msgDisplay.AddError(error);
                        });
                    }
                    else
                    {
                        if (oldExpression != AllSettings.Current.PointSettings.GeneralPointExpression)
                        {
                            if (TaskManager.BeginTask(MyUserID, new ReCountUsersPointTask(), string.Empty))
                            {
                            }
                        }
                    }
                    //else
                    //    AllSettings.Current.PointSettings = setting;
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #15
0
        private void SavepointExchangeProportions()
        {
            UserPointCollection userPoints = AllSettings.Current.PointSettings.EnabledUserPoints;

            string[] errorNames = new string[userPoints.Count];
            int      i          = 0;

            foreach (UserPoint userPoint in userPoints)
            {
                errorNames[i] = userPoint.Type.ToString();
                i++;
            }
            MessageDisplay msgDisplay = CreateMessageDisplay(errorNames);

            PointExchangeProportionCollection pointExchangeProportions = new PointExchangeProportionCollection();

            foreach (UserPoint userPoint in AllSettings.Current.PointSettings.EnabledUserPoints)
            {
                string valueString = _Request.Get("pointExchangeProportion." + (int)userPoint.Type, Method.Post, string.Empty);
                int    value;
                if (!int.TryParse(valueString, out value))
                {
                    msgDisplay.AddError(userPoint.Type.ToString(), 0, string.Format(Lang_Error.User_UserPointExchangeFormatError, userPoint.Name));
                }
                else if (value < 1)
                {
                    msgDisplay.AddError(userPoint.Type.ToString(), 0, string.Format(Lang_Error.User_UserPointExchangeFormatError, userPoint.Name));
                }
                else
                {
                    pointExchangeProportions.Add(userPoint.Type, value);
                }
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }

            //PointExchangeProportionCollection tempPointExchangeProportions = AllSettings.Current.UserPointSettings.ExchangeProportions;
            PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

            setting.ExchangeProportions = pointExchangeProportions;
            try
            {
                if (!SettingManager.SaveSettings(setting))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error);
                    });
                }
                else
                {
                    AllSettings.Current.PointSettings = setting;
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #16
0
        private void SavePointExchangeRules()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay("taxRate", "minRemaining");

            int[] ids = StringUtil.Split <int>(_Request.Get("ids", Method.Post, string.Empty));
            PointExchangeRuleCollection rules = AllSettings.Current.PointSettings.PointExchangeRules;

            int i = 0;
            PointExchangeRuleCollection tempRules = new PointExchangeRuleCollection();

            foreach (int id in ids)
            {
                string            key  = _Request.Get("key." + id, Method.Post, string.Empty);
                PointExchangeRule rule = (PointExchangeRule)rules.GetRule(key).Clone();
                if (rule == null)
                {
                    continue;
                }

                string valueString = _Request.Get("taxRate." + id, Method.Post, string.Empty);
                int    value;

                if (!int.TryParse(valueString, out value))
                {
                    msgDisplay.AddError("taxRate", i, Lang_Error.User_UserPointExchangeTaxRateFormatError);
                }
                else
                {
                    rule.TaxRate = value;
                }

                valueString = _Request.Get("minRemaining." + id, Method.Post, string.Empty);
                if (!int.TryParse(valueString, out value))
                {
                    msgDisplay.AddError("minRemaining", i, Lang_Error.User_UserPointExchangeRemainingValueFormatError);
                }
                else if (value < rule.UserPoint.MinValue)
                {
                    msgDisplay.AddError("minRemaining", i, Lang_Error.User_UserPointInvalidTradeMaxValueError);
                    rule.MinRemainingValue = value;
                }
                else
                {
                    rule.MinRemainingValue = value;
                }

                tempRules.Add(rule);

                i++;
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }

            try
            {
                PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);
                setting.PointExchangeRules = tempRules;
                if (!SettingManager.SaveSettings(setting))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error.TatgetName, error.TargetLine, error.Message);
                    });
                }
                else
                {
                    AllSettings.Current.PointSettings = setting;
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #17
0
        public bool SaveSettings()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay("url", "name");
            int            rowindex   = 0;

            int[] linkids = StringUtil.Split <int>(_Request.Get("linkids", Method.Post));

            LinkSettings settings = SettingManager.CloneSetttings <LinkSettings>(AllSettings.Current.LinkSettings);

            LinkCollection links = new LinkCollection();

            Link temp;

            foreach (int id in linkids)
            {
                temp             = new Link();
                temp.LinkID      = id;
                temp.Url         = _Request.Get("url." + id, Method.Post);
                temp.Name        = _Request.Get("name." + id, Method.Post);
                temp.ImageUrlSrc = _Request.Get("imageurl." + id, Method.Post);
                temp.Description = _Request.Get("description." + id, Method.Post);
                temp.Index       = _Request.Get <int>("index." + id, Method.Post, 0);
                temp.IsNew       = _Request.Get <bool>("isnew." + id, Method.Post, false);
                ValidateLink(temp, msgDisplay, rowindex);
                rowindex++;
                links.Add(temp);
            }

            ///客户端无脚本
            if (_Request.Get("newlinkid", Method.Post) != null &&
                _Request.Get("newlinkid").Contains("{0}"))
            {
                temp             = settings.CreateLink();
                temp.Url         = _Request.Get("url.new.{0}", Method.Post);
                temp.Name        = _Request.Get("name.new.{0}", Method.Post);
                temp.ImageUrlSrc = _Request.Get("imageurl.new.{0}", Method.Post);
                temp.Description = _Request.Get("description.new.{0}", Method.Post);
                temp.Index       = _Request.Get <int>("index.new.{0}", Method.Post, 0);
                rowindex++;
                if (!string.IsNullOrEmpty(temp.Name) && !string.IsNullOrEmpty(temp.Url))
                {
                    links.Add(temp);
                }
            }
            else
            {
                int[] newLinkArray = StringUtil.Split <int>(_Request.Get("newlinkid", Method.Post));
                foreach (int id in newLinkArray)
                {
                    temp             = settings.CreateLink();
                    temp.IsNew       = true;
                    temp.Url         = _Request.Get("url.new." + id, Method.Post);
                    temp.Name        = _Request.Get("name.new." + id, Method.Post);
                    temp.ImageUrlSrc = _Request.Get("imageurl.new." + id, Method.Post);
                    temp.Description = _Request.Get("description.new." + id, Method.Post);
                    temp.Index       = _Request.Get <int>("index.new." + id, Method.Post, 0);
                    ValidateLink(temp, msgDisplay, rowindex);
                    rowindex++;
                    links.Add(temp);
                }
            }

            if (msgDisplay.HasAnyError())
            {
                msgDisplay.AddError(new DataNoSaveError());
                m_LinkList = links;
            }
            else
            {
                foreach (Link l in links)
                {
                    l.IsNew = false;
                }

                settings.Links = links;

                SettingManager.SaveSettings(settings);
                m_LinkList = null;
            }
            return(true);
        }
예제 #18
0
        private void Save()
        {
            MessageDisplay msgDisplay         = CreateMessageDisplay("money", "point", "minvalue");
            PointRechargeRuleCollection rules = new PointRechargeRuleCollection();
            int i = 0;

            foreach (UserPoint point in AllSettings.Current.PointSettings.EnabledUserPoints)
            {
                int pointID            = (int)point.Type;
                PointRechargeRule rule = new PointRechargeRule();
                rule.UserPointType = point.Type;
                rule.Enable        = _Request.IsChecked("canRecharge." + pointID, Method.Post, false);
                rule.Money         = _Request.Get <int>("money." + pointID, Method.Post, 0);
                rule.Point         = _Request.Get <int>("point." + pointID, Method.Post, 0);
                rule.MinValue      = _Request.Get <int>("minvalue." + pointID, Method.Post, 0);

                if (rule.Enable)
                {
                    if (rule.Money < 1)
                    {
                        msgDisplay.AddError("money", i, "人民币必须为大于0的整数");
                    }

                    if (rule.Point < 1)
                    {
                        msgDisplay.AddError("point", i, "积分数量必须为大于0的整数");
                    }

                    if (rule.Point < 1)
                    {
                        msgDisplay.AddError("minvalue", i, "一次至少需要充值的积分数量必须大于0");
                    }
                }
                rules.Add(rule);
                i++;
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }


            PointSettings pointSetting = SettingManager.CloneSetttings <PointSettings>(PointSettings);
            PaySettings   paySettings  = SettingManager.CloneSetttings <PaySettings>(PaySettings);


            pointSetting.PointRechargeRules = rules;
            paySettings.EnablePointRecharge = _Request.Get <bool>("enable", Method.Post, false);
            if (paySettings.EnablePointRecharge)
            {
                paySettings.ProductName  = _Request.Get("ProductName", Method.Post, string.Empty);
                paySettings.EnableAlipay = _Request.Get <bool>("enableAlipay", Method.Post, false);
                paySettings.EnableTenpay = _Request.Get <bool>("EnableTenpay", Method.Post, false);
                paySettings.Enable99Bill = _Request.Get <bool>("Enable99Bill", Method.Post, false);

                if (paySettings.EnableAlipay)
                {
                    paySettings.Alipay_SellerEmail = _Request.Get("Alipay_SellerEmail", Method.Post, string.Empty);
                    paySettings.Alipay_PartnerID   = _Request.Get("Alipay_PartnerID", Method.Post, string.Empty);
                    paySettings.Alipay_Key         = _Request.Get("Alipay_Key", Method.Post, string.Empty);
                }

                if (paySettings.EnableTenpay)
                {
                    paySettings.Tenpay_BargainorID = _Request.Get("Tenpay_BargainorID", Method.Post, string.Empty);
                    paySettings.Tenpay_Key         = _Request.Get("Tenpay_Key", Method.Post, string.Empty);
                }

                if (paySettings.Enable99Bill)
                {
                    paySettings._99Bill_MerchantAcctID = _Request.Get("_99Bill_MerchantAcctID", Method.Post, string.Empty);
                    paySettings._99Bill_Key            = _Request.Get("_99Bill_Key", Method.Post, string.Empty);
                }
            }
            else
            {
                paySettings.EnableAlipay = false;
                paySettings.EnableTenpay = false;
                paySettings.Enable99Bill = false;
            }

            if (paySettings.EnablePointRecharge)
            {
                foreach (PointRechargeRule rule in rules)
                {
                    if (rule.Enable)
                    {
                        pointSetting.UserPoints.GetUserPoint(rule.UserPointType).MaxValue = int.MaxValue;
                    }
                }
            }

            try
            {
                SettingManager.SaveSettings(pointSetting);
                SettingManager.SaveSettings(paySettings);

                PostBOV5.Instance.ClearShowChargePointLinks();
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #19
0
        private void SavepointTransferRules()
        {
            string[]       names      = new string[] { "taxRate", "minRemaining" };
            MessageDisplay msgDisplay = CreateMessageDisplay(names);

            PointTransferRuleCollection rules = new PointTransferRuleCollection();
            int i = 0;

            foreach (UserPoint userPoint in AllSettings.Current.PointSettings.EnabledUserPoints)
            {
                int    pointID     = (int)userPoint.Type;
                bool   canTransfer = _Request.Get <bool>("canTransfer." + pointID, Method.Post, false);
                string valueString = _Request.Get("taxRate." + pointID, Method.Post, string.Empty);
                int    taxRate     = 0;
                if (!int.TryParse(valueString, out taxRate))
                {
                    msgDisplay.AddError("taxRate", i, Lang_Error.User_UserPointTransferTaxRateFormatError);
                }
                else if (taxRate < 0)
                {
                    msgDisplay.AddError("taxRate", i, Lang_Error.User_UserPointTransferTaxRateFormatError);
                }

                valueString = _Request.Get("minRemaining." + pointID, Method.Post, string.Empty);
                int minRemainingValue = 0;
                if (!int.TryParse(valueString, out minRemainingValue))
                {
                    msgDisplay.AddError("minRemaining", i, Lang_Error.User_UserPointTransferMinRemainingValueFormatError);
                }

                PointTransferRule rule = new PointTransferRule();
                rule.CanTransfer       = canTransfer;
                rule.MinRemainingValue = minRemainingValue;
                rule.PointType         = userPoint.Type;
                rule.TaxRate           = taxRate;

                rules.Add(rule);
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }

            PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

            try
            {
                setting.PointTransferRules  = rules;
                setting.EnablePointTransfer = _Request.IsChecked("enable", Method.Post, false);
                if (!SettingManager.SaveSettings(setting))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error.TatgetName, error.TargetLine, error.Message);
                    });
                }
                else
                {
                    AllSettings.Current.PointSettings = setting;
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
예제 #20
0
        /// <summary>
        /// 如果用户的积分超出积分的上限或者下限则将其更新到上限或者下限
        /// </summary>


        /// <summary>
        /// 更新扩展积分设置
        /// </summary>
        /// <param name="userPoints"></param>
        /// <returns></returns>
        public static bool UpdateUserPointSetting(UserPointCollection userPoints)
        {
            int enableCount = 0;
            int i           = 0;

            string temp = AllSettings.Current.PointSettings.GeneralPointExpression.Replace("(", "").Replace(")", "").Replace("+", "|").Replace("-", "|").Replace("*", "|").Replace("/", "|").Replace(" ", "");

            string[]      colums = temp.Split('|');
            StringBuilder cannotDisablePoints = new StringBuilder();

            foreach (UserPoint userPoint in userPoints)
            {
                if (userPoint.Enable)
                {
                    enableCount++;
                    if (string.IsNullOrEmpty(userPoint.Name))
                    {
                        Context.ThrowError <EmptyUserPointNameError>(new EmptyUserPointNameError("name", i));
                    }
                    if (userPoint.MaxValue <= userPoint.MinValue)
                    {
                        Context.ThrowError <InvalidUserPointMaxValueAndMinValueError>(new InvalidUserPointMaxValueAndMinValueError("maxValue", i));
                    }

                    if (userPoint.InitialValue > userPoint.MaxValue)
                    {
                        Context.ThrowError <UserPointInitialValueGreaterthanMaxValueError>(new UserPointInitialValueGreaterthanMaxValueError("initialValue", i));
                    }
                    else if (userPoint.InitialValue < userPoint.MinValue)
                    {
                        Context.ThrowError <UserPointInitialValueLessthanMinValueError>(new UserPointInitialValueLessthanMinValueError("initialValue", i));
                    }
                }
                else
                {
                    foreach (string colum in colums)
                    {
                        if (string.Compare(colum, "p" + ((int)userPoint.Type + 1), true) == 0)
                        {
                            cannotDisablePoints.Append("\"").Append(userPoint.Name).Append("\",");
                            break;
                        }
                    }
                }
                i++;
            }
            if (cannotDisablePoints.Length > 0)
            {
                Context.ThrowError <UserPointCanNotDisablePointsError>(new UserPointCanNotDisablePointsError(cannotDisablePoints.ToString(0, cannotDisablePoints.Length - 1)));
                return(false);
            }
            if (enableCount == 0)
            {
                Context.ThrowError <NoEnableUserPointError>(new NoEnableUserPointError("NoEnableUserPointError"));
                return(false);
            }
            if (HasUnCatchedError)
            {
                return(false);
            }
            PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

            setting.UserPoints = userPoints;
            if (SettingManager.SaveSettings(setting))
            {
                AllSettings.Current.PointSettings = setting;
                return(true);
            }
            return(false);
        }
예제 #21
0
        /// <summary>
        /// 更新积分等级图标
        /// </summary>
        /// <param name="pointType"></param>
        /// <param name="pointValue">初级图标 所需积分</param>
        /// <param name="iconCount"> 升上一级图标 所需当前图标个数</param>
        /// <param name="icons"></param>
        /// <returns></returns>
        public static bool UpdatePointIcon(UserPointType pointType, int pointValue, int iconCount, IEnumerable <string> icons)
        {
            if (pointValue < 1)
            {
                Context.ThrowError <UserPointIconValueError>(new UserPointIconValueError("pointValue", AllSettings.Current.PointSettings.GetUserPoint(pointType).Name));
            }

            if (iconCount < 1)
            {
                Context.ThrowError <UserPointUpgradeIconCountError>(new UserPointUpgradeIconCountError("iconCount"));
            }

            List <string> tempIcons = new List <string>();

            foreach (string icon in icons)
            {
                string tempIcon = icon.Trim();
                if (tempIcons.Contains(icon))
                {
                    Context.ThrowError <UserPointIconIsExistsError>(new UserPointIconIsExistsError("icons"));
                    return(false);
                }
                if (tempIcon != string.Empty && !tempIcons.Contains(icon))
                {
                    tempIcons.Add(icon);
                }
            }

            if (tempIcons.Count == 0)
            {
                Context.ThrowError <UserPointIconEmptyError>(new UserPointIconEmptyError("icons"));
            }

            if (HasUnCatchedError)
            {
                return(false);
            }

            string iconsString = StringUtil.Join(tempIcons, "|");

            PointIcon pointIcon = new PointIcon();

            pointIcon.PointType   = pointType;
            pointIcon.PointValue  = pointValue;
            pointIcon.IconCount   = iconCount;
            pointIcon.IconsString = iconsString;

            lock (AllSettings.Current.PointSettings)
            {
                PointSettings setting = SettingManager.CloneSetttings <PointSettings>(AllSettings.Current.PointSettings);

                bool hasAdd = false;
                for (int i = 0; i < setting.PointIcons.Count; i++)
                {
                    if (setting.PointIcons[i].PointType == pointType)
                    {
                        setting.PointIcons[i] = pointIcon;
                        hasAdd = true;
                    }
                }
                if (!hasAdd)
                {
                    setting.PointIcons.Add(pointIcon);
                }

                bool success = SettingManager.SaveSettings(setting);

                //if (success)
                //    AllSettings.Current.PointSettings = setting;
                return(success);
            }
        }
예제 #22
0
        public bool SaveSettings()
        {
            MessageDisplay msdDisplay = CreateMessageDisplay("name", "title", "requiredPoint", "level");
            RoleCollection tempRoles  = new RoleCollection();

            RoleSettings settings = SettingManager.CloneSetttings <RoleSettings>(AllSettings.Current.RoleSettings);

            Role temp;

            Guid[] oldRoleids = _Request.GetList <Guid>("roleid", Method.Post, new Guid[00]);

            foreach (Guid r in oldRoleids)
            {
                temp = settings.GetRole(r);

                if (AllSettings.Current.BackendPermissions.Can(My, BackendPermissions.ActionWithTarget.Setting_Roles_Manager, temp))
                {
                    temp = temp == null?CreateRole() : temp.Clone();   //不采用克隆的话可能会有些属性丢失掉

                    temp.Name            = _Request.Get("Name." + r, Method.Post);
                    temp.Title           = _Request.Get("title." + r, Method.Post);
                    temp.RequiredPoint   = _Request.Get <int>("RequiredPoint." + r, Method.Post, 0);
                    temp.Color           = _Request.Get("Color." + r, Method.Post);
                    temp.IconUrlSrc      = _Request.Get("IconUrl." + r, Method.Post);
                    temp.StarLevel       = _Request.Get <int>("StarLevel." + r, Method.Post, 0);
                    temp.Level           = _Request.Get <int>("Level." + r, Method.Post, 0);
                    temp.IsNew           = _Request.Get <bool>("isnew." + r, Method.Post, false);
                    temp.CanLoginConsole = _Request.Get <bool>("CanLoginConsole." + r, Method.Post, false) && temp.IsManager;
                    temp.RoleID          = r;
                    if (temp.IsLevel)
                    {
                        temp.Name = temp.Title;
                    }
                }
                else
                {
                    if (temp == null)
                    {
                        continue;
                    }
                }

                tempRoles.Add(temp);
            }

            //Nonsupport Javascript
            if (_Request.Get("newroleid", Method.Post, "").Contains("{0}"))
            {
                Role r = CreateRole();
                r.Name            = _Request.Get("name.new.{0}", Method.Post);
                r.Title           = _Request.Get("title.new.{0}", Method.Post);
                r.StarLevel       = _Request.Get <int>("starlevel.new.{0}", Method.Post, 0);
                r.RequiredPoint   = _Request.Get <int>("RequiredPoint.new.{0}", Method.Post, 0);
                r.Color           = _Request.Get("color.new.{0}", Method.Post);
                r.IconUrlSrc      = _Request.Get("IconUrl.new.{0}", Method.Post);
                r.Level           = _Request.Get <int>("Level.new.{0}", Method.Post, 0);
                r.CanLoginConsole = _Request.Get <bool>("CanLoginConsole.new.{0}", Method.Post, false) && r.IsManager;
                if (r.IsLevel)
                {
                    r.Name = r.Title;
                }
                if (!string.IsNullOrEmpty(r.Name))
                {
                    tempRoles.Add(r);
                }
            }
            else
            {
                int[] newroleid = _Request.GetList <int>("newroleid", Method.Post, new int[0]);

                foreach (int i in newroleid)
                {
                    Role r = CreateRole();
                    r.Name            = _Request.Get("name.new." + i, Method.Post);
                    r.Title           = _Request.Get("title.new." + i, Method.Post);
                    r.StarLevel       = _Request.Get <int>("starlevel.new." + i, Method.Post, 0);
                    r.RequiredPoint   = _Request.Get <int>("RequiredPoint.new." + i, Method.Post, 0);
                    r.Color           = _Request.Get("color.new." + i, Method.Post);
                    r.IconUrlSrc      = _Request.Get("IconUrl.new." + i, Method.Post);
                    r.Level           = _Request.Get <int>("Level.new." + i, Method.Post, 0);
                    r.CanLoginConsole = _Request.Get <bool>("CanLoginConsole.new." + i, Method.Post, false) && r.IsManager;
                    if (r.IsLevel)
                    {
                        r.Name = r.Title;
                    }
                    tempRoles.Add(r);
                }
            }

            if (ValidateRoleDate(tempRoles, msdDisplay))
            {
                foreach (Role r in tempRoles)
                {
                    settings.SetRole(r);
                }

                if (BeforeSaveSettings(settings))
                {
                    SettingManager.SaveSettings(settings);
                    m_RoleList = null;
                    return(true);
                }
            }

            m_RoleList = tempRoles;
            msdDisplay.AddError(new DataNoSaveError());
            return(false);
        }
예제 #23
0
        private void Save()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay();

            int[] ids = _Request.GetList <int>("id", Method.Post, new int[] { });

            NavigationSettingsBase settings;

            if (IsTopLink)
            {
                settings = SettingManager.CloneSetttings <TopLinkSettings2>(AllSettings.Current.TopLinkSettings2);
            }
            else
            {
                settings = SettingManager.CloneSetttings <NavigationSettings>(AllSettings.Current.NavigationSettings);
            }

            NavigationItemCollection items = new NavigationItemCollection();

            int i = 0;

            foreach (int id in ids)
            {
                NavigationItem item = settings.Navigations.GetValue(id);
                if (item != null)
                {
                    item.SortOrder = _Request.Get <int>("parent_sortorder_" + id, Method.Post, 0);
                    item.Name      = _Request.Get("parent_name_" + id);
                    if (item.Type == NavigationType.Custom)
                    {
                        item.UrlInfo = _Request.Get("parent_url_" + id, Method.Post, string.Empty);
                    }
                    item.NewWindow       = _Request.IsChecked("parent_newwindow_" + id, Method.Post, false);
                    item.OnlyLoginCanSee = _Request.IsChecked("parent_logincansee_" + id, Method.Post, false);
                    if (string.IsNullOrEmpty(item.Name))
                    {
                        msgDisplay.AddError("", i, "名称不能为空");
                    }
                    if (string.IsNullOrEmpty(item.UrlInfo))
                    {
                        msgDisplay.AddError("", i, "链接地址不能为空");
                    }
                    item.IsTopLink = IsTopLink;
                    i++;

                    items.Add(item);
                }
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }

            settings.Navigations = items;
            try
            {
                SettingManager.SaveSettings(settings);
                if (IsTopLink)
                {
                    AllSettings.Current.TopLinkSettings2.ClearCache();
                }
                else
                {
                    AllSettings.Current.NavigationSettings.ClearCache();
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }