Example #1
0
    public string Handler_ExistingUserRank()
    {
        StringBuilder sbRet = new StringBuilder();
            ContentAPI apiContent = new ContentAPI();
            Ektron.Cms.Content.EkContent brContent = new Ektron.Cms.Content.EkContent(apiContent.RequestInformationRef);
            int iRet = 0;
            long iUserRank = 0;
            int iPosts = 0;
            string sUserRank = "";
            long iboard = 0;
            bool bisstart = false;
            UserRank[] aUserRank = (UserRank[]) Array.CreateInstance(typeof(Ektron.Cms.UserRank), 0);

            try
            {
                iUserRank = Convert.ToInt64(Request.QueryString["urid"]);
                sUserRank = Request.QueryString["urname"];
                iboard = Convert.ToInt64(Request.QueryString["boardid"]);
                if (Request.QueryString["posts"] != "")
                {
                    iPosts = Convert.ToInt32(Request.QueryString["posts"]);
                }
                if (Request.QueryString["isstart"] != "")
                {
                    bisstart = Convert.ToBoolean(Request.QueryString["isstart"]);
                }

                aUserRank = brContent.SelectUserRankByBoard(iboard);

                if (aUserRank.Length > 0)
                {
                    for (int i = 0; i <= (aUserRank.Length - 1); i++)
                    {
                        // check for existing name
                        if (aUserRank[i].Name == sUserRank && !(iUserRank == aUserRank[i].ID))
                        {
                            iRet = 2; // name conflict
                            break;
                        }
                        // check for number of posts
                        if (iPosts > 0) // if its not a ladder rank, we don't do this check
                        {
                            if (aUserRank[i].Posts > 0 && aUserRank[i].Posts == iPosts && !(iUserRank == aUserRank[i].ID))
                            {
                                iRet = 1; // post conflict
                                break;
                            }
                        }
                        // check for starting rank
                        if (bisstart == true && aUserRank[i].StartGroup == true && !(iUserRank == aUserRank[i].ID))
                        {
                            iRet = 3; // start conflict
                            break;
                        }
                    }
                }

                sbRet.Append("  <method>checkUserRank</method>").Append(Environment.NewLine);
                sbRet.Append("  <result>").Append(iRet.ToString()).Append("</result>").Append(Environment.NewLine);

                return sbRet.ToString();
            }
            catch (Exception)
            {

            }

            return sbRet.ToString();
    }