Esempio n. 1
0
        public override bool Run(CommandParameter commandParam, ref string result)
        {
            //如果是桌面程序则需要验证用户身份
            if (commandParam.AppInfo.ApplicationType == (int)ApplicationType.DESKTOP)
            {
                if (commandParam.LocalUid < 1)
                {
                    result = Util.CreateErrorMessage(ErrorType.API_EC_SESSIONKEY, commandParam.ParamList);
                    return(false);
                }
            }

            if (!commandParam.CheckRequiredParams("uid,page_size,page_index"))
            {
                result = Util.CreateErrorMessage(ErrorType.API_EC_PARAM, commandParam.ParamList);
                return(false);
            }

            int uid       = commandParam.GetIntParam("uid");
            int pageSize  = commandParam.GetIntParam("page_size", 10);
            int pageIndex = commandParam.GetIntParam("page_index", 1);

            pageSize  = pageSize < 1 ? 10 : pageSize;
            pageIndex = pageIndex < 1 ? 1 : pageIndex;

            List <PrivateMessageInfo> list = PrivateMessages.GetPrivateMessageCollection(uid, 0, pageSize, pageIndex, 1);

            List <Message> newList = new List <Message>();

            foreach (PrivateMessageInfo pm in list)
            {
                Message m = new Message();
                m.MessageId      = pm.Pmid;
                m.From           = pm.Msgfrom;
                m.FromId         = pm.Msgfromid;
                m.MessageContent = pm.Message;
                m.PostDateTime   = pm.Postdatetime;
                m.Subject        = pm.Subject;

                newList.Add(m);
            }

            MessageGetResponse mgr = new MessageGetResponse();

            mgr.Count    = PrivateMessages.GetPrivateMessageCount(uid, 0, 1);
            mgr.List     = true;
            mgr.Messages = newList.ToArray();

            result = commandParam.Format == FormatType.JSON ?
                     JavaScriptConvert.SerializeObject(mgr) : Util.AddMessageCDATA(SerializationHelper.Serialize(mgr));

            return(true);
        }
Esempio n. 2
0
        /// <summary>
        /// 加载用户当前请求页数的短消息列表并装入DataTable中
        /// </summary>
        private void BindItems()
        {
            //得到当前用户请求的页数
            pageid = DNTRequest.GetInt("page", 1);
            //获取主题总数
            pmcount = PrivateMessages.GetPrivateMessageCount(userid, 0);
            //获取总页数
            pagecount = pmcount % 16 == 0 ? pmcount / 16 : pmcount / 16 + 1;
            if (pagecount == 0)
            {
                pagecount = 1;
            }
            //修正请求页数中可能的错误
            if (pageid < 1)
            {
                pageid = 1;
            }
            if (pageid > pagecount)
            {
                pageid = pagecount;
            }

            usedmsgcount = PrivateMessages.GetPrivateMessageCount(userid, -1);
            maxmsg       = usergroupinfo.Maxpmnum;

            if (maxmsg <= 0)
            {
                usedmsgbarwidth   = 0;
                unusedmsgbarwidth = 0;
            }
            else
            {
                usedmsgbarwidth   = usedmsgcount * 100 / maxmsg;
                unusedmsgbarwidth = 100 - usedmsgbarwidth;
            }

//				//用户是不是有新的短信息,如果没有则设置用户的短信息状态为没有状态(状态为 0 )
//				pmlist = PrivateMessages.GetPrivateMessageList(userid, 0, 1, 1, "[new]=1");
//				if (pmlist!=null)
//				{
//					if (pmlist.Rows.Count<=0)
//					{
//						Users.SetUserNewPMCount(userid,0);
//					}
//				}
//				else
//				{
//					Users.SetUserNewPMCount(userid,0);
//				}

            pmlist      = PrivateMessages.GetPrivateMessageCollection(userid, 0, 16, pageid, 2);
            pagenumbers = Utils.GetPageNumbers(pageid, pagecount, "usercpinbox.aspx", 8);
        }
Esempio n. 3
0
        /// <summary>
        /// 加载用户当前请求页数的短消息列表并装入DataTable中
        /// </summary>
        private void BindItems()
        {
            //得到当前用户请求的页数
            pageid = DNTRequest.GetInt("page", 1);
            //获取主题总数
            pmcount = PrivateMessages.GetPrivateMessageCount(userid, 1);
            //获取总页数
            pagecount = pmcount % 16 == 0 ? pmcount / 16 : pmcount / 16 + 1;
            if (pagecount == 0)
            {
                pagecount = 1;
            }
            //修正请求页数中可能的错误
            if (pageid < 1)
            {
                pageid = 1;
            }
            if (pageid > pagecount)
            {
                pageid = pagecount;
            }

            //取得用户所有短消息总数,第二个参数就传-1
            usedmsgcount = PrivateMessages.GetPrivateMessageCount(userid, -1);
            maxmsg       = usergroupinfo.Maxpmnum;

            if (maxmsg <= 0)
            {
                usedmsgbarwidth   = 0;
                unusedmsgbarwidth = 0;
            }
            else
            {
                usedmsgbarwidth   = usedmsgcount * 100 / maxmsg;
                unusedmsgbarwidth = 100 - usedmsgbarwidth;
            }

            pmlist      = PrivateMessages.GetPrivateMessageCollection(userid, 1, 16, pageid, 2);
            pagenumbers = Utils.GetPageNumbers(pageid, pagecount, "usercpsentbox.aspx", 8);
        }
Esempio n. 4
0
        /// <summary>
        /// 获取短消息列表
        /// </summary>
        /// <returns></returns>
        public string Get()
        {
            if (Signature != GetParam("sig").ToString())
            {
                ErrorCode = (int)ErrorType.API_EC_SIGNATURE;
                return("");
            }

            //如果是桌面程序则需要验证用户身份
            if (this.App.ApplicationType == (int)ApplicationType.DESKTOP && Uid < 1)
            {
                //if (Uid < 1)
                //{
                ErrorCode = (int)ErrorType.API_EC_SESSIONKEY;
                return("");
                //}
            }

            if (CallId <= LastCallId)
            {
                ErrorCode = (int)ErrorType.API_EC_CALLID;
                return("");
            }

            if (!CheckRequiredParams("uid,page_size,page_index"))
            {
                ErrorCode = (int)ErrorType.API_EC_PARAM;
                return("");
            }
            int uid       = GetIntParam("uid");
            int pageSize  = GetIntParam("page_size", 10);
            int pageIndex = GetIntParam("page_index", 1);

            List <PrivateMessageInfo> list = PrivateMessages.GetPrivateMessageCollection(uid, 0, pageSize, pageIndex, 1);

            List <Message> newList = new List <Message>();

            foreach (PrivateMessageInfo pm in list)
            {
                Message m = new Message();
                m.MessageId      = pm.Pmid;
                m.From           = pm.Msgfrom;
                m.FromId         = pm.Msgfromid;
                m.MessageContent = pm.Message;
                m.PostDateTime   = pm.Postdatetime;
                m.Subject        = pm.Subject;

                newList.Add(m);
            }

            MessageGetResponse mgr = new MessageGetResponse();

            mgr.Count    = PrivateMessages.GetPrivateMessageCount(uid, 0, 1);
            mgr.List     = true;
            mgr.Messages = newList.ToArray();

            if (Format == FormatType.JSON)
            {
                return(JsonConvert.SerializeObject(mgr));
            }

            return(Util.AddMessageCDATA(SerializationHelper.Serialize(mgr)));
        }
Esempio n. 5
0
        private void BindData()
        {
            int _folder = 0;

            if (ViewState["Folder"] != null)
            {
                _folder = Convert.ToInt16(ViewState["Folder"]);
            }

            List <PrivateMessageInfo> list = PrivateMessages.GetPrivateMessageCollection(this.UID, _folder, int.MaxValue, 1, 2).FindAll(delegate(PrivateMessageInfo pm)
            {
                Boolean returnValue = true;
                string tmpString    = string.Empty;

                if (ViewState["New"] != null)
                {
                    tmpString = ViewState["New"].ToString();
                    if (!string.IsNullOrEmpty(tmpString))
                    {
                        returnValue = returnValue && (pm.New == Convert.ToInt16(tmpString));
                    }
                }

                if (ViewState["Msgfrom"] != null)
                {
                    tmpString = ViewState["Msgfrom"].ToString();
                    if (!string.IsNullOrEmpty(tmpString) && tmpString != "--发送人--")
                    {
                        returnValue = returnValue && (pm.Msgfrom.IndexOf(tmpString) >= 0);
                    }
                }

                if (ViewState["Msgto"] != null)
                {
                    tmpString = ViewState["Msgto"].ToString();
                    if (!string.IsNullOrEmpty(tmpString) && tmpString != "--收件人--")
                    {
                        returnValue = returnValue && (pm.Msgto.ToLower().IndexOf(tmpString.ToLower()) >= 0);
                    }
                }

                if (ViewState["Subject"] != null)
                {
                    tmpString = ViewState["Subject"].ToString();
                    if (!string.IsNullOrEmpty(tmpString) && tmpString != "--标题--")
                    {
                        returnValue = returnValue && (pm.Subject.IndexOf(tmpString) >= 0);
                    }
                }

                return(returnValue);
            });

            gvDNTMessage.DataSource = list;
            gvDNTMessage.DataBind();

            #region set Control Custom Pager
            if (gvDNTMessage.BottomPagerRow != null)
            {
                gvDNTMessage.BottomPagerRow.Visible = true;
                ctrlCustomPagerInfo.Visible         = true;

                ctrlCustomPagerInfo.PageIndex = gvDNTMessage.PageIndex;
                ctrlCustomPagerInfo.PageCount = gvDNTMessage.PageCount;
                ctrlCustomPagerInfo.RowCount  = list.Count;
                ctrlCustomPagerInfo.InitComponent();
            }
            else
            {
                ctrlCustomPagerInfo.Visible = false;
            }
            #endregion
        }