protected PointActionItemCollection GetPointActionItems(string action)
        {
            PointActionItemCollection items = PointAction.GetPointActionItems(action);

            bool has = false;

            foreach (PointActionItem item in items)
            {
                if (item.RoleID == Guid.Empty)
                {
                    has = true;
                    break;
                }
            }

            if (!has)
            {
                PointActionItem item = new PointActionItem();
                item.Action = action;

                items.Insert(0, item);
            }

            return(items);
        }
Пример #2
0
        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 PointActionItem GetNeedValuePointActionItem(string action, int id, bool isNew, MessageDisplay msgDisplay)
        {
            string pointTypeName, minRemainName, maxValueName, minValueName;
            Guid   roleID;
            int    sortOrder;

            if (isNew)
            {
                pointTypeName = "pointaction.new." + action;
                minRemainName = "minremaining.new." + action;
                maxValueName  = "maxvalue.new." + action;
                minValueName  = "minvalue.new." + action;
            }
            else
            {
                pointTypeName = "pointaction." + action + "." + id;
                minRemainName = "minremaining." + action + "." + id;
                maxValueName  = "maxvalue." + action + "." + id;
                minValueName  = "minvalue." + action + "." + id;
            }

            if (id == 0 && isNew == false)
            {
                roleID    = Guid.Empty;
                sortOrder = 0;
            }
            else
            {
                string roleIDName, sortOrderName;
                if (isNew)
                {
                    roleIDName    = "pointtype.new.role." + action;
                    sortOrderName = "pointtype.new.sortorder." + action;
                }
                else
                {
                    roleIDName    = "pointtype.role." + action + "." + id;
                    sortOrderName = "pointtype.sortorder." + action + "." + id;
                }

                roleID = _Request.Get <Guid>(roleIDName, Method.Post, Guid.Empty);
                if (roleID == Guid.Empty)
                {
                    if (isNew && _Request.Get("display.tr.pointtype." + action, Method.Post, "0") == "1")
                    {
                        msgDisplay.AddError("pointtype.new." + action, Lang_Error.User_UserPointActionEmptyRoleIDError);
                    }
                    else
                    {
                        return(null);
                    }
                }
                string tempValueString = _Request.Get(sortOrderName, Method.Post, string.Empty);

                if (!int.TryParse(tempValueString, out sortOrder))
                {
                    if (isNew)
                    {
                        msgDisplay.AddError("pointtype.new." + action, Lang_Error.User_UserPointActionInvalidSortOrderError);
                    }
                    else
                    {
                        msgDisplay.AddError("pointtype." + action, id, Lang_Error.User_UserPointActionInvalidSortOrderError);
                    }
                }
            }

            UserPointType pointType = _Request.Get <UserPointType>(pointTypeName, Method.Post, UserPointType.Point1);

            int?minRemaining, maxValue;
            int minValue;


            #region minRemaining, maxValue ,minValue

            StringBuilder errorMessages = new StringBuilder();

            int    value;
            string valueString = _Request.Get(minRemainName, Method.Post, string.Empty);
            if (valueString.Trim() == string.Empty)
            {
                minRemaining = null;
            }
            else if (int.TryParse(valueString, out value))
            {
                minRemaining = value;


                if (minRemaining < AllSettings.Current.PointSettings.GetUserPoint(pointType).MinValue)
                {
                    errorMessages.Append(Lang_Error.User_UserPointInvalidMinRemainingError).Append("<br />");
                }
            }
            else
            {
                errorMessages.Append(Lang_Error.User_UserPointMinRemainingFormatError).Append("<br />");
                minRemaining = null;
            }

            valueString = _Request.Get(minValueName, Method.Post, string.Empty);
            if (valueString.Trim() == string.Empty)
            {
                minValue = 1;
            }
            else if (int.TryParse(valueString, out value))
            {
                minValue = value;
                if (minValue < 0)
                {
                    errorMessages.Append(Lang_Error.User_UserPointTradeMinValueFormatError).Append("<br />");
                }
            }
            else
            {
                errorMessages.Append(Lang_Error.User_UserPointTradeMinValueFormatError).Append("<br />");
                minValue = 1;
            }

            valueString = _Request.Get(maxValueName, Method.Post, string.Empty);
            if (valueString.Trim() == string.Empty)
            {
                maxValue = null;
            }
            else if (int.TryParse(valueString, out value))
            {
                maxValue = value;
                if (maxValue < minValue)
                {
                    errorMessages.Append(Lang_Error.User_UserPointInvalidTradeMaxValueError).Append("<br />");
                }
            }
            else
            {
                errorMessages.Append(Lang_Error.User_UserPointTradeMaxValueFormatError).Append("<br />");
                maxValue = null;
            }

            if (errorMessages.Length > 0)
            {
                if (isNew)
                {
                    msgDisplay.AddError("pointtype.new." + action, errorMessages.ToString(0, errorMessages.Length - 6));
                }
                else
                {
                    msgDisplay.AddError("pointtype." + action, id, errorMessages.ToString(0, errorMessages.Length - 6));
                }
            }

            #endregion


            PointActionItem item = new PointActionItem();
            item.Action        = action;
            item.PointType     = pointType;
            item.MaxValue      = maxValue == null ? int.MaxValue : maxValue.Value;
            item.MinRemaining  = minRemaining == null ? int.MinValue : minRemaining.Value;
            item.MinValue      = minValue;
            item.RoleID        = roleID;
            item.RoleSortOrder = sortOrder;

            return(item);
        }
        private PointActionItem GetPointActionItem(string action, int id, bool isNew, MessageDisplay msgDisplay)
        {
            Guid roleID;
            int  sortOrder = 0;

            if (id == 0 && isNew == false)
            {
                roleID = Guid.Empty;
            }
            else
            {
                string roleIDName, sortOrderName;
                if (isNew)
                {
                    roleIDName    = "new.role." + action;
                    sortOrderName = "new.sortorder." + action;
                }
                else
                {
                    roleIDName    = "role." + action + "." + id;
                    sortOrderName = "sortorder." + action + "." + id;
                }

                roleID = _Request.Get <Guid>(roleIDName, Method.Post, Guid.Empty);
                if (roleID == Guid.Empty)
                {
                    if (isNew && _Request.Get("display.tr." + action, Method.Post, "0") == "1")
                    {
                        msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionEmptyRoleIDError);
                    }
                    else
                    {
                        return(null);
                    }
                }
                string value = _Request.Get(sortOrderName, Method.Post, string.Empty);

                if (!int.TryParse(value, out sortOrder))
                {
                    if (isNew)
                    {
                        msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionInvalidSortOrderError);
                    }
                    else
                    {
                        msgDisplay.AddError(action, id, Lang_Error.User_UserPointActionInvalidSortOrderError);
                    }
                }
            }

            PointActionItem pointActionItem = new PointActionItem();

            pointActionItem.RoleID        = roleID;
            pointActionItem.RoleSortOrder = sortOrder;

            int[]         points     = new int[8];
            StringBuilder pointNames = new StringBuilder();


            foreach (UserPoint userPoint in AllSettings.Current.PointSettings.EnabledUserPoints)
            {
                int pointID = (int)userPoint.Type;

                int    point;
                string name;
                if (isNew)
                {
                    name = "new.pointaction." + action + "." + pointID;
                }
                else
                {
                    name = "pointaction." + action + "." + pointID + "." + id;
                }

                string value = _Request.Get(name, Method.Post, string.Empty);
                if (value == string.Empty)
                {
                    point = 0;
                }
                else
                {
                    if (!int.TryParse(value, out point))
                    {
                        pointNames.Append(userPoint.Name).Append(",");
                    }
                }
                points[pointID] = point;
            }
            if (pointNames.Length > 0)
            {
                if (isNew)
                {
                    msgDisplay.AddError("new." + action, id, string.Format(Lang_Error.User_PointFormatError2, pointNames.ToString(0, pointNames.Length - 1)));
                }
                else
                {
                    msgDisplay.AddError(action, id, string.Format(Lang_Error.User_PointFormatError2, pointNames.ToString(0, pointNames.Length - 1)));
                }
            }

            pointActionItem.Action = action;
            foreach (int point in points)
            {
                pointActionItem.PointValues.Add(point.ToString());
            }

            return(pointActionItem);
        }
Пример #5
0
        protected PointActionItemCollection GetPointActionItems(string action)
        {
            PointActionItemCollection items = PointAction.GetPointActionItems(action);

            bool has = false;
            foreach (PointActionItem item in items)
            {
                if (item.RoleID == Guid.Empty)
                {
                    has = true;
                    break;
                }
            }

            if (!has)
            {
                PointActionItem item = new PointActionItem();
                item.Action = action;

                items.Insert(0,item);
            }

            return items;
        }
Пример #6
0
        private PointActionItem GetNeedValuePointActionItem(string action, int id, bool isNew, MessageDisplay msgDisplay)
        {
            string pointTypeName, minRemainName, maxValueName, minValueName;
            Guid roleID;
            int sortOrder;
            if (isNew)
            { 
                pointTypeName = "pointaction.new." + action;
                minRemainName = "minremaining.new." + action;
                maxValueName = "maxvalue.new." + action;
                minValueName = "minvalue.new." + action;
            }
            else
            {
                pointTypeName = "pointaction." + action + "." + id;
                minRemainName = "minremaining." + action + "." + id;
                maxValueName = "maxvalue." + action + "." + id;
                minValueName = "minvalue." + action + "." + id;
            }

            if (id == 0 && isNew == false)
            {
                roleID = Guid.Empty;
                sortOrder = 0;
            }
            else
            {
                string roleIDName, sortOrderName;
                if (isNew)
                {
                    roleIDName = "pointtype.new.role." + action;
                    sortOrderName = "pointtype.new.sortorder." + action;
                }
                else
                {
                    roleIDName = "pointtype.role." + action + "." + id;
                    sortOrderName = "pointtype.sortorder." + action + "." + id;
                }

                roleID = _Request.Get<Guid>(roleIDName, Method.Post, Guid.Empty);
                if (roleID == Guid.Empty)
                {
                    if (isNew && _Request.Get("display.tr.pointtype." + action, Method.Post, "0") == "1")
                    {
                        msgDisplay.AddError("pointtype.new." + action , Lang_Error.User_UserPointActionEmptyRoleIDError);
                    }
                    else
                        return null;
                }
                string tempValueString = _Request.Get(sortOrderName, Method.Post, string.Empty);

                if (!int.TryParse(tempValueString, out sortOrder))
                {
                    if (isNew)
                        msgDisplay.AddError("pointtype.new." + action , Lang_Error.User_UserPointActionInvalidSortOrderError);
                    else
                        msgDisplay.AddError("pointtype." + action, id, Lang_Error.User_UserPointActionInvalidSortOrderError);
                }
            }

            UserPointType pointType = _Request.Get<UserPointType>(pointTypeName, Method.Post, UserPointType.Point1);

            int? minRemaining, maxValue;
            int minValue;


            #region minRemaining, maxValue ,minValue

            StringBuilder errorMessages = new StringBuilder();

            int value;
            string valueString = _Request.Get(minRemainName, Method.Post, string.Empty);
            if (valueString.Trim() == string.Empty)
            {
                minRemaining = null;
            }
            else if (int.TryParse(valueString, out value))
            {
                minRemaining = value;


                if (minRemaining < AllSettings.Current.PointSettings.GetUserPoint(pointType).MinValue)
                    errorMessages.Append(Lang_Error.User_UserPointInvalidMinRemainingError).Append("<br />");
            }
            else
            {
                errorMessages.Append(Lang_Error.User_UserPointMinRemainingFormatError).Append("<br />");
                minRemaining = null;
            }

            valueString = _Request.Get(minValueName, Method.Post, string.Empty);
            if (valueString.Trim() == string.Empty)
            {
                minValue = 1;
            }
            else if (int.TryParse(valueString, out value))
            {
                minValue = value;
                if (minValue < 1)
                    errorMessages.Append(Lang_Error.User_UserPointTradeMinValueFormatError).Append("<br />");
            }
            else
            {
                errorMessages.Append(Lang_Error.User_UserPointTradeMinValueFormatError).Append("<br />");
                minValue = 1;
            }

            valueString = _Request.Get(maxValueName, Method.Post, string.Empty);
            if (valueString.Trim() == string.Empty)
            {
                maxValue = null;
            }
            else if (int.TryParse(valueString, out value))
            {
                maxValue = value;
                if (maxValue < minValue)
                    errorMessages.Append(Lang_Error.User_UserPointInvalidTradeMaxValueError).Append("<br />");
            }
            else
            {
                errorMessages.Append(Lang_Error.User_UserPointTradeMaxValueFormatError).Append("<br />");
                maxValue = null;
            }

            if (errorMessages.Length > 0)
            {
                if (isNew)
                    msgDisplay.AddError("pointtype.new." + action, errorMessages.ToString(0, errorMessages.Length - 6));
                else
                    msgDisplay.AddError("pointtype." + action, id, errorMessages.ToString(0, errorMessages.Length - 6));
            }

            #endregion


            PointActionItem item = new PointActionItem();
            item.Action = action;
            item.PointType = pointType;
            item.MaxValue = maxValue == null ? int.MaxValue : maxValue.Value;
            item.MinRemaining = minRemaining == null ? int.MinValue : minRemaining.Value;
            item.MinValue = minValue;
            item.RoleID = roleID;
            item.RoleSortOrder = sortOrder;

            return item;
        }
Пример #7
0
        private PointActionItem GetPointActionItem(string action,int id,bool isNew,MessageDisplay msgDisplay)
        {
            Guid roleID;
            int sortOrder = 0;
            if (id == 0 && isNew == false)
                roleID = Guid.Empty;
            else
            {
                string roleIDName, sortOrderName;
                if (isNew)
                {
                    roleIDName = "new.role." + action;
                    sortOrderName = "new.sortorder." + action;
                }
                else
                {
                    roleIDName = "role." + action + "." + id;
                    sortOrderName = "sortorder." + action + "." + id;
                }

                roleID = _Request.Get<Guid>(roleIDName, Method.Post, Guid.Empty);
                if (roleID == Guid.Empty)
                {
                    if (isNew && _Request.Get("display.tr." + action, Method.Post, "0") == "1")
                    {
                        msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionEmptyRoleIDError);
                    }
                    else
                        return null;
                }
                string value = _Request.Get(sortOrderName, Method.Post, string.Empty);

                if (!int.TryParse(value, out sortOrder))
                {
                    if (isNew)
                        msgDisplay.AddError("new." + action, Lang_Error.User_UserPointActionInvalidSortOrderError);
                    else
                        msgDisplay.AddError(action, id, Lang_Error.User_UserPointActionInvalidSortOrderError);
                }
            }

            PointActionItem pointActionItem = new PointActionItem();
            pointActionItem.RoleID = roleID;
            pointActionItem.RoleSortOrder = sortOrder;

            int[] points = new int[8];
            StringBuilder pointNames = new StringBuilder();


            foreach (UserPoint userPoint in AllSettings.Current.PointSettings.EnabledUserPoints)
            {
                int pointID = (int)userPoint.Type;

                int point;
                string name;
                if (isNew)
                    name = "new.pointaction." + action + "." + pointID;
                else
                    name = "pointaction." + action + "." + pointID + "." + id;

                string value = _Request.Get(name, Method.Post, string.Empty);
                if (value == string.Empty)
                {
                    point = 0;
                }
                else
                {
                    if (!int.TryParse(value, out point))
                    {
                        pointNames.Append(userPoint.Name).Append(",");
                    }
                }
                points[pointID] = point;
            }
            if (pointNames.Length > 0)
            {
                if(isNew)
                    msgDisplay.AddError("new."+action, id, string.Format(Lang_Error.User_PointFormatError2, pointNames.ToString(0, pointNames.Length - 1)));
                else
                    msgDisplay.AddError(action, id, string.Format(Lang_Error.User_PointFormatError2, pointNames.ToString(0, pointNames.Length - 1)));
            }

            pointActionItem.Action = action;
            foreach (int point in points)
            {
                pointActionItem.PointValues.Add(point.ToString());
            }

            return pointActionItem;

        }