public void ClearExperiesData() { //return; PointActionCollection pointActions = new PointActionCollection(); foreach (PointAction pointAction in PointActions) { PointActionType pointActionType = PointActionManager.GetPointActionType(pointAction.Type); if (pointActionType == null) continue; //检查nodeID if (pointActionType.HasNodeList && pointAction.NodeID != 0) { bool isExperies = true; foreach (NodeItem item in pointActionType.NodeItemList) { if (item.NodeID == pointAction.NodeID) { isExperies = false; break; } } if (isExperies) continue; } PointAction tempPointAction = new PointAction(); //检查roleID PointActionItemCollection pointActionItems = new PointActionItemCollection(); foreach (PointActionItem pointActionItem in pointAction.PointActionItems) { if (pointActionItem.RoleID == Guid.Empty || AllSettings.Current.RoleSettings.Roles.GetValue(pointActionItem.RoleID) != null) { pointActionItems.Add(pointActionItem); } } tempPointAction.PointActionItems = pointActionItems; tempPointAction.NodeID = pointAction.NodeID; tempPointAction.Type = pointAction.Type; pointActions.Add(tempPointAction); } PointActionSettings setting = new PointActionSettings(); setting.PointActions = pointActions; try { SettingManager.SaveSettings(setting); } catch { } }
private void Delete() { m_Success = false; MessageDisplay msgDisplay = CreateMessageDisplay(); if (PointAction.NodeID != NodeID) { msgDisplay.AddError("当前积分继承至上级,不能进行删除操作,如要修改请修改上级积分或者把积分设为自定义"); return; } string action = _Request.Get("actiontype", Method.Get, string.Empty); int sortOrder = _Request.Get <int>("sortorder", Method.Get, 0); PointActionSettings setting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection pointActions = new PointActionCollection(); PointAction oldPointAction = setting.PointActions.GetPointAction(PointActionType.Type, NodeID); if (oldPointAction == null) { msgDisplay.AddError(new InvalidParamError("nodeID")); return; } for (int i = 0; i < setting.PointActions.Count; i++) { if (string.Compare(setting.PointActions[i].Type, PointActionType.Type, true) == 0 && oldPointAction.NodeID == setting.PointActions[i].NodeID) { PointAction tempPointAction = new PointAction(); tempPointAction.Type = PointActionType.Type; foreach (PointActionItem item in setting.PointActions[i].PointActionItems) { if (string.Compare(item.Action, action, true) == 0 && sortOrder == item.RoleSortOrder && item.RoleID != Guid.Empty) { } else { tempPointAction.PointActionItems.Add(item); } } tempPointAction.NodeID = NodeID; if (setting.PointActions[i].NodeID == NodeID)//原来就有的的设置 { pointActions.Add(tempPointAction); } else//原来没有 复制父节点设置 { pointActions.Add(tempPointAction);//复制父节点设置 pointActions.Add(setting.PointActions[i]);//父节点保留 } } else { pointActions.Add(setting.PointActions[i]); } } setting.PointActions = pointActions; try { if (!SettingManager.SaveSettings(setting)) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { string urlRef = Request.UrlReferrer.ToString(); string query; int index = urlRef.IndexOf('?'); if (index > 0) { query = urlRef.Substring(index + 1); } else { query = string.Empty; } string url = Request.RawUrl; if (url.IndexOf('?') > -1) { url = url.Substring(0, url.IndexOf('?')); } url = url + "?" + query; BbsRouter.JumpToUrl(url, "success=true"); } //else // _Request.Clear(Method.Post); } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }
public PointActionSettings() { PointActions = new PointActionCollection(); PointAction pointAction; PointActionItem item; #if !Passport #region ForumPointAction pointAction = new PointAction(); pointAction.Type = "ForumPointAction"; item = new PointActionItem(); item.Action = ForumPointType.CreateThread.ToString(); item.PointValues = new StringList(new string[8] { "10", "1", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.ReplyThread.ToString(); item.PointValues = new StringList(new string[8] { "2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.DeleteOwnThreads.ToString(); item.PointValues = new StringList(new string[8] { "-10", "-1", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.DeleteOwnPosts.ToString(); item.PointValues = new StringList(new string[8] { "-2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.DeleteAnyThreads.ToString(); item.PointValues = new StringList(new string[8] { "-20", "-2", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.DeleteAnyPosts.ToString(); item.PointValues = new StringList(new string[8] { "-4", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.ShieldPost.ToString(); item.PointValues = new StringList(new string[8] { "-20", "-2", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointType.SetThreadsValued.ToString(); item.PointValues = new StringList(new string[8] { "20", "4", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointValueType.SellThread.ToString(); item.MinValue = 0; pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = ForumPointValueType.SellAttachment.ToString(); item.MinValue = 0; pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion #region SharePointAction pointAction = new PointAction(); pointAction.Type = "SharePointAction"; item = new PointActionItem(); item.Action = SharePointType.CreateShare.ToString(); item.PointValues = new StringList(new string[8] { "1", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = SharePointType.CreateCollection.ToString(); item.PointValues = new StringList(new string[8] { "1", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = SharePointType.ShareWasDeletedByAdmin.ToString(); item.PointValues = new StringList(new string[8] { "-2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = SharePointType.ShareWasDeletedBySelf.ToString(); item.PointValues = new StringList(new string[8] { "-1", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion #region AlbumPointAction pointAction = new PointAction(); pointAction.Type = "AlbumPointAction"; item = new PointActionItem(); item.Action = AlbumPointType.CreatePhoto.ToString(); item.PointValues = new StringList(new string[8] { "2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = AlbumPointType.PhotoWasCommented.ToString(); item.PointValues = new StringList(new string[8] { "1", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = AlbumPointType.PhotoWasDeletedBySelf.ToString(); item.PointValues = new StringList(new string[8] { "-2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = AlbumPointType.PhotoWasDeletedByAdmin.ToString(); item.PointValues = new StringList(new string[8] { "-4", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = AlbumPointType.AlbumWasDeletedByAdmin.ToString(); item.PointValues = new StringList(new string[8] { "-10", "-2", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion #region BlogPointAction pointAction = new PointAction(); pointAction.Type = "BlogPointAction"; item = new PointActionItem(); item.Action = BlogPointType.PostArticle.ToString(); item.PointValues = new StringList(new string[8] { "10", "1", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = BlogPointType.ArticleWasDeletedBySelf.ToString(); item.PointValues = new StringList(new string[8] { "-10", "-1", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = BlogPointType.ArticleWasDeletedByAdmin.ToString(); item.PointValues = new StringList(new string[8] { "-20", "-2", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = BlogPointType.ArticleWasCommented.ToString(); item.PointValues = new StringList(new string[8] { "1", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion #region CommentPointAction pointAction = new PointAction(); pointAction.Type = "CommentPointAction"; item = new PointActionItem(); item.Action = CommentPointType.AddApprovedComment.ToString(); item.PointValues = new StringList(new string[8] { "2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = CommentPointType.CommentIsApproved.ToString(); item.PointValues = new StringList(new string[8] { "2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = CommentPointType.DeleteCommentBySelf.ToString(); item.PointValues = new StringList(new string[8] { "-2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = CommentPointType.DeleteCommentByAdmin.ToString(); item.PointValues = new StringList(new string[8] { "-4", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion #region DoingPointAction pointAction = new PointAction(); pointAction.Type = "DoingPointAction"; item = new PointActionItem(); item.Action = DoingPointType.DoingWasCommented.ToString(); item.PointValues = new StringList(new string[8] { "1", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = DoingPointType.DoingWasDeletedByAdmin.ToString(); item.PointValues = new StringList(new string[8] { "-2", "0", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion #endif #region UserPointAction pointAction = new PointAction(); pointAction.Type = "UserPointAction"; item = new PointActionItem(); item.Action = UserPoints.PerfectInfomation.ToString(); item.PointValues = new StringList(new string[8] { "20", "2", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); item = new PointActionItem(); item.Action = UserPoints.ValidateEmail.ToString(); item.PointValues = new StringList(new string[8] { "10", "1", "0", "0", "0", "0", "0", "0" }); pointAction.PointActionItems.Add(item); PointActions.Add(pointAction); #endregion }
private void SaveSettings2() { MessageDisplay msgDisplay = CreateMessageDisplay(); if (PointActionType == null) { msgDisplay.AddError(new InvalidParamError("type").Message); return; } if (_Request.Get("inheritType", Method.Post, "False").ToLower() == "true") { PointActionSettings tempSetting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection tempPointActions = new PointActionCollection(); for (int i = 0; i < tempSetting.PointActions.Count; i++) { if (string.Compare(tempSetting.PointActions[i].Type, PointActionType.Type, true) == 0 && tempSetting.PointActions[i].NodeID == NodeID) { } else { tempPointActions.Add(tempSetting.PointActions[i]); } } tempSetting.PointActions = tempPointActions; try { if (!SettingManager.SaveSettings(tempSetting)) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { BbsRouter.JumpToUrl(Request.RawUrl, "success=true"); } //Response.Redirect(Request.RawUrl); } catch (Exception ex) { msgDisplay.AddError(ex.Message); } return; } msgDisplay = null; PointAction tempPointAction = new PointAction(); tempPointAction.Type = PointActionType.Type; if (PointActionType.ActionAttributes != null) { int errorNamesCount = PointActionType.ActionAttributes.Count * 2; if (PointActionType.NeedValueActionAttributes != null) { errorNamesCount += PointActionType.NeedValueActionAttributes.Count * 2; } string[] errorNames = new string[errorNamesCount]; int i = 0; foreach (string action in PointActionType.ActionAttributes.Keys) { errorNames[i] = action; i++; errorNames[i] = "new." + action; i++; } if (PointActionType.NeedValueActionAttributes != null) { foreach (string action in PointActionType.NeedValueActionAttributes.Keys) { errorNames[i] = "pointtype." + action; i++; errorNames[i] = "pointtype.new." + action; i++; } } msgDisplay = CreateMessageDisplay(errorNames); foreach (string action in PointActionType.ActionAttributes.Keys) { int[] tempIds = StringUtil.Split <int>(_Request.Get("id." + action, Method.Post, string.Empty)); List <int> sortOrdes = new List <int>(); PointActionItem item; foreach (int id in tempIds) { item = GetPointActionItem(action, id, false, msgDisplay); if (item != null) { if (id != 0 && sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError(action, id, Lang_Error.User_UserPointActionDubleSortOrderError); } else { if (id != 0) { sortOrdes.Add(item.RoleSortOrder); } tempPointAction.PointActionItems.Add(item); } } } item = GetPointActionItem(action, 0, true, msgDisplay); if (item != null) { if (sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionDubleSortOrderError); } tempPointAction.PointActionItems.Add(item); } } } if (PointActionType.NeedValueActionAttributes != null) { if (msgDisplay == null) { string[] errorNames = new string[PointActionType.NeedValueActionAttributes.Count * 2]; int i = 0; foreach (string action in PointActionType.NeedValueActionAttributes.Keys) { errorNames[i] = "pointtype." + action; i++; errorNames[i] = "pointtype.new." + action; i++; } msgDisplay = CreateMessageDisplay(errorNames); } foreach (string action in PointActionType.NeedValueActionAttributes.Keys) { int[] tempIds = StringUtil.Split <int>(_Request.Get("pointtype.id." + action, Method.Post, string.Empty)); List <int> sortOrdes = new List <int>(); PointActionItem item; foreach (int id in tempIds) { item = GetNeedValuePointActionItem(action, id, false, msgDisplay); if (item != null) { //msgDisplay.HasAnyError == false 是为避免 有两个SortOrder 不为数字出错了(这时都为0) 而这里又提示重复 if (id != 0 && sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("pointtype." + action, id, Lang_Error.User_UserPointActionDubleSortOrderError); } else { if (id != 0) { sortOrdes.Add(item.RoleSortOrder); } tempPointAction.PointActionItems.Add(item); } } } item = GetNeedValuePointActionItem(action, 0, true, msgDisplay); if (item != null) { if (sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("pointtype.new." + action, Lang_Error.User_UserPointActionDubleSortOrderError); } tempPointAction.PointActionItems.Add(item); } } } if (msgDisplay.HasAnyError()) { return; } PointActionSettings setting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection pointActions = new PointActionCollection(); tempPointAction.NodeID = NodeID; bool haveAdd = false; for (int i = 0; i < setting.PointActions.Count; i++) { if (string.Compare(setting.PointActions[i].Type, PointActionType.Type, true) == 0 && setting.PointActions[i].NodeID == NodeID) { pointActions.Add(tempPointAction); haveAdd = true; } else { pointActions.Add(setting.PointActions[i]); } } if (!haveAdd) { pointActions.Add(tempPointAction); } setting.PointActions = pointActions; try { if (!SettingManager.SaveSettings(setting)) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { BbsRouter.JumpToUrl(Request.RawUrl, "success=true"); } } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }
private void Delete() { MessageDisplay msgDisplay = CreateMessageDisplay(); string action = _Request.Get("actiontype", Method.Get, string.Empty); int sortOrder = _Request.Get <int>("sortorder", Method.Get, 0); PointActionSettings setting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection pointActions = new PointActionCollection(); PointAction oldPointAction = setting.PointActions.GetPointAction(PointActionType.Type, NodeID); if (oldPointAction == null) { msgDisplay.AddError(new InvalidParamError("nodeID")); return; } for (int i = 0; i < setting.PointActions.Count; i++) { if (string.Compare(setting.PointActions[i].Type, PointActionType.Type, true) == 0 && oldPointAction.NodeID == setting.PointActions[i].NodeID) { PointAction tempPointAction = new PointAction(); tempPointAction.Type = PointActionType.Type; foreach (PointActionItem item in setting.PointActions[i].PointActionItems) { if (string.Compare(item.Action, action, true) == 0 && sortOrder == item.RoleSortOrder && item.RoleID != Guid.Empty) { } else { tempPointAction.PointActionItems.Add(item); } } tempPointAction.NodeID = NodeID; if (setting.PointActions[i].NodeID == NodeID)//原来就有的的设置 { pointActions.Add(tempPointAction); } else//原来没有 复制父节点设置 { pointActions.Add(tempPointAction);//复制父节点设置 pointActions.Add(setting.PointActions[i]);//父节点保留 } } else { pointActions.Add(setting.PointActions[i]); } } setting.PointActions = pointActions; try { if (!SettingManager.SaveSettings(setting)) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { _Request.Clear(Method.Post); } } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }
private void Delete() { MessageDisplay msgDisplay = CreateMessageDisplay(); string action = _Request.Get("actiontype", Method.Get, string.Empty); int sortOrder = _Request.Get<int>("sortorder", Method.Get, 0); PointActionSettings setting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection pointActions = new PointActionCollection(); PointAction oldPointAction = setting.PointActions.GetPointAction(PointActionType.Type,NodeID); if (oldPointAction == null) { msgDisplay.AddError(new InvalidParamError("nodeID")); return; } for (int i = 0; i < setting.PointActions.Count; i++) { if (string.Compare(setting.PointActions[i].Type, PointActionType.Type, true) == 0 && oldPointAction.NodeID == setting.PointActions[i].NodeID) { PointAction tempPointAction = new PointAction(); tempPointAction.Type = PointActionType.Type; foreach (PointActionItem item in setting.PointActions[i].PointActionItems) { if (string.Compare(item.Action, action, true) == 0 && sortOrder == item.RoleSortOrder && item.RoleID != Guid.Empty) { } else { tempPointAction.PointActionItems.Add(item); } } tempPointAction.NodeID = NodeID; if (setting.PointActions[i].NodeID == NodeID)//原来就有的的设置 { pointActions.Add(tempPointAction); } else//原来没有 复制父节点设置 { pointActions.Add(tempPointAction);//复制父节点设置 pointActions.Add(setting.PointActions[i]);//父节点保留 } } else pointActions.Add(setting.PointActions[i]); } setting.PointActions = pointActions; try { if (!SettingManager.SaveSettings(setting)) { CatchError<ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else _Request.Clear(Method.Post); } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }
private void SaveSettings() { MessageDisplay msgDisplay = CreateMessageDisplay(); if (PointActionType == null) { msgDisplay.AddError(new InvalidParamError("type").Message); return; } msgDisplay = null; PointAction tempPointAction = new PointAction(); tempPointAction.Type = PointActionType.Type; if (PointActionType.ActionAttributes != null) { int errorNamesCount = PointActionType.ActionAttributes.Count * 2; if (PointActionType.NeedValueActionAttributes != null) { errorNamesCount += PointActionType.NeedValueActionAttributes.Count * 2; } string[] errorNames = new string[errorNamesCount]; int i = 0; foreach (string action in PointActionType.ActionAttributes.Keys) { errorNames[i] = action; i++; errorNames[i] = "new."+action; i++; } if (PointActionType.NeedValueActionAttributes != null) { foreach (string action in PointActionType.NeedValueActionAttributes.Keys) { errorNames[i] = "pointtype." + action; i++; errorNames[i] = "pointtype.new." + action; i++; } } msgDisplay = CreateMessageDisplay(errorNames); foreach (string action in PointActionType.ActionAttributes.Keys) { int[] tempIds = StringUtil.Split<int>(_Request.Get("id." + action, Method.Post, string.Empty)); List<int> sortOrdes = new List<int>(); PointActionItem item; foreach (int id in tempIds) { item = GetPointActionItem(action, id, false, msgDisplay); if (item != null) { if (id != 0 && sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError(action, id, Lang_Error.User_UserPointActionDubleSortOrderError); } else { if (id != 0) { sortOrdes.Add(item.RoleSortOrder); } tempPointAction.PointActionItems.Add(item); } } } item = GetPointActionItem(action, 0, true, msgDisplay); if (item != null) { if (sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionDubleSortOrderError); } tempPointAction.PointActionItems.Add(item); } } } if (PointActionType.NeedValueActionAttributes != null) { if (msgDisplay == null) { string[] errorNames = new string[PointActionType.NeedValueActionAttributes.Count * 2]; int i = 0; foreach (string action in PointActionType.NeedValueActionAttributes.Keys) { errorNames[i] = "pointtype." + action; i++; errorNames[i] = "pointtype.new." + action; i++; } msgDisplay = CreateMessageDisplay(errorNames); } foreach (string action in PointActionType.NeedValueActionAttributes.Keys) { int[] tempIds = StringUtil.Split<int>(_Request.Get("pointtype.id." + action, Method.Post, string.Empty)); List<int> sortOrdes = new List<int>(); PointActionItem item; foreach (int id in tempIds) { item = GetNeedValuePointActionItem(action, id, false, msgDisplay); if (item != null) { //msgDisplay.HasAnyError == false 是为避免 有两个SortOrder 不为数字出错了(这时都为0) 而这里又提示重复 if (id != 0 && sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("pointtype." + action, id, Lang_Error.User_UserPointActionDubleSortOrderError); } else { if (id != 0) sortOrdes.Add(item.RoleSortOrder); tempPointAction.PointActionItems.Add(item); } } } item = GetNeedValuePointActionItem(action, 0, true, msgDisplay); if (item != null) { if (sortOrdes.Contains(item.RoleSortOrder) && msgDisplay.HasAnyError() == false) { msgDisplay.AddError("pointtype.new." + action, Lang_Error.User_UserPointActionDubleSortOrderError); } tempPointAction.PointActionItems.Add(item); } } } if (msgDisplay.HasAnyError()) return; PointActionSettings setting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection pointActions = new PointActionCollection(); tempPointAction.NodeID = NodeID; bool haveAdd = false; for (int i = 0; i < setting.PointActions.Count;i++) { if (string.Compare(setting.PointActions[i].Type, PointActionType.Type, true) == 0 && setting.PointActions[i].NodeID == NodeID) { pointActions.Add(tempPointAction); haveAdd = true; } else pointActions.Add(setting.PointActions[i]); } if (!haveAdd) pointActions.Add(tempPointAction); setting.PointActions = pointActions; try { if (!SettingManager.SaveSettings(setting)) { CatchError<ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else _Request.Clear(Method.Post); } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }
private void Delete() { m_Success = false; MessageDisplay msgDisplay = CreateMessageDisplay(); if (PointAction.NodeID!=NodeID) { msgDisplay.AddError("当前积分继承至上级,不能进行删除操作,如要修改请修改上级积分或者把积分设为自定义"); return; } string action = _Request.Get("actiontype", Method.Get, string.Empty); int sortOrder = _Request.Get<int>("sortorder", Method.Get, 0); PointActionSettings setting = (PointActionSettings)AllSettings.Current.PointActionSettings.Clone(); PointActionCollection pointActions = new PointActionCollection(); PointAction oldPointAction = setting.PointActions.GetPointAction(PointActionType.Type,NodeID); if (oldPointAction == null) { msgDisplay.AddError(new InvalidParamError("nodeID")); return; } for (int i = 0; i < setting.PointActions.Count; i++) { if (string.Compare(setting.PointActions[i].Type, PointActionType.Type, true) == 0 && oldPointAction.NodeID == setting.PointActions[i].NodeID) { PointAction tempPointAction = new PointAction(); tempPointAction.Type = PointActionType.Type; foreach (PointActionItem item in setting.PointActions[i].PointActionItems) { if (string.Compare(item.Action, action, true) == 0 && sortOrder == item.RoleSortOrder && item.RoleID != Guid.Empty) { } else { tempPointAction.PointActionItems.Add(item); } } tempPointAction.NodeID = NodeID; if (setting.PointActions[i].NodeID == NodeID)//原来就有的的设置 { pointActions.Add(tempPointAction); } else//原来没有 复制父节点设置 { pointActions.Add(tempPointAction);//复制父节点设置 pointActions.Add(setting.PointActions[i]);//父节点保留 } } else pointActions.Add(setting.PointActions[i]); } setting.PointActions = pointActions; try { if (!SettingManager.SaveSettings(setting)) { CatchError<ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { string urlRef = Request.UrlReferrer.ToString(); string query; int index = urlRef.IndexOf('?'); if (index > 0) query = urlRef.Substring(index + 1); else query = string.Empty; string url = Request.RawUrl; if (url.IndexOf('?') > -1) url = url.Substring(0, url.IndexOf('?')); url = url + "?" + query; BbsRouter.JumpToUrl(url, "success=true"); } //else // _Request.Clear(Method.Post); } catch (Exception ex) { msgDisplay.AddError(ex.Message); } }