Esempio n. 1
0
        private ArraySegment <byte> InternalEncodeMessage(IMessageEntity message, int bufferSize)
        {
            var data   = new byte[bufferSize];
            var offset = 0;

            data[offset++] = ProtocolUtil.Code;
            data[offset++] = ProtocolUtil.Flag;
            data[offset++] = ProtocolUtil.Version;
            //BODY_LEN
            offset += 2;

            var converter = EndianBitConverter.Big;

            var len = message.Serialize(data, offset);

            if (len < 0) //buffer len is not enough, double the length
            {
                return(InternalEncodeMessage(message, bufferSize * 2));
            }
            var bodyLength = (ushort)(offset + len - 5);

            converter.CopyBytes(bodyLength, data, 3);

            return(new ArraySegment <byte>(data, 0, offset + len));
        }
Esempio n. 2
0
        private IMessageEntity SelectInfo(string sql, params MySqlParameter[] pms)
        {
            IMessageEntity msg      = GetInfo(sql, pms);
            List <Talk>    talkList = new List <Talk>();

            using (MySqlDataReader reader = (MySqlDataReader)msg.Msgvalue)
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        //Talk talk = new Talk();
                        //talk.Id = Convert.ToInt32(reader["id"]);
                        //talk.Theme = Convert.ToString(reader["theme"]);
                        //talk.Title = Convert.ToString(reader["title"]);
                        //talk.Content = Convert.ToString(reader["content"]);
                        //talk.Cdate = Convert.ToDateTime(reader["cdate"]);
                        //talk.Udate = Convert.ToDateTime(reader["udate"] == System.DBNull.Value ? DateTime.Now : reader["udate"]);
                        //talk.Uid = Convert.ToInt32(reader["uid"]);
                        //talk.Uname = Convert.ToString(reader["Uname"] == System.DBNull.Value ? "" : reader["Uname"]);
                        //talk.Unames = Convert.ToString(reader["Unames"] == System.DBNull.Value ? "" : reader["Unames"]);
                        //talk.Updateid = Convert.ToInt32(reader["updateid"] == System.DBNull.Value ? "0" : reader["updateid"]);
                        //talk.Cname = Convert.ToString(reader["cname"]);

                        //talk.Display = Convert.ToInt32(reader["display"]);

                        //talkList.Add(talk);
                    }
                }
            }
            msg.Msgvalue = talkList;
            return(msg);
        }
Esempio n. 3
0
        public ActionResult ReSetPwd(string email, string code, string pwd1, string pwd2)
        {
            string em = "";

            if (Session["code"].ToString() == code)
            {
                if (string.IsNullOrEmpty(email))
                {
                    em = "请输入邮箱";
                }
                else
                {
                    IMessageEntity msg = userLogic.IsUserExist(email, 2);

                    if (!string.IsNullOrEmpty(pwd1) && !string.IsNullOrEmpty(pwd2))
                    {
                        if (pwd1 == pwd2)
                        {
                            if (msg.Msgflag) //该用户存在
                            {
                                //调用
                                //pwd = validationcode.GetValidationCode();//随机生成的6位字母+数字验证码
                                if (userLogic.UpdateUser(email, pwd1).Msgflag)
                                {
                                    em = "密码更新成功,新密码为:" + pwd1 + "请您妥善保管";
                                }
                                else
                                {
                                    em = "密码更新失败";
                                }
                            }
                            else
                            {
                                em = "邮箱不存在";
                            }
                        }
                        else
                        {
                            em = "两次输入的密码不一致";
                        }
                    }
                    else
                    {
                        em = "请输入密码获取确认密码";
                    }
                }
            }
            else
            {
                em = "验证码输入有误";
            }



            ViewData["em"] = em;

            return(View());
        }
Esempio n. 4
0
        public bool Stop()
        {
            this.StopSubscriberAgent();
            this.StopResponserrAgent();

            IMessageEntity e = EntityInstance;

            if (e != null)
            {
                e.Stop();
            }

            return(true);
        }
Esempio n. 5
0
        public ActionResult UserInfo()
        {
            User           user    = null;
            string         Uname   = Session["user"].ToString();
            string         query   = string.Format("Uname='{0}' ", Uname);
            IMessageEntity msgUser = userLogic.GetInfo <User>("user", query);
            List <User>    a       = new List <User>();

            if (msgUser.Msgflag)
            {
                user = (User)((List <User>)msgUser.Msgvalue).FirstOrDefault();
            }
            ViewData.Model = user;
            return(View());
        }
Esempio n. 6
0
        public bool Uninitialize()
        {
            this.UnintializePublisherAgent();
            this.UninitializeSubscriberAgent();
            this.UnintializeRequesterAgent();
            this.UnintializeResponserAgent();

            IMessageEntity e = EntityInstance;

            if (e != null)
            {
                e.Uninitalize();
            }

            return(true);
        }
Esempio n. 7
0
        public bool Initialize(EntityInitializeArgument arg)
        {
            IMessageEntity e = EntityInstance;

            if (e == null)
            {
                return(false);
            }

            if (!e.Initialize(arg))
            {
                _log.Write("Initialize message entity failed. " + ToString());
                return(false);
            }

            EntityConfigBase c = EntityConfig;

            if (c == null)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 8
0
        public ActionResult Index(int?page)
        {
            ViewData["address"] = ComHelper.GetAddress();
            IMessageEntity msguser = null;
            User           user    = null;

            ViewData["flag"] = "";
            ViewData["img"]  = "";

            #region
            if (Session["user"] != null)
            {
                string ulogin = Session["user"].ToString() == null ? "" : Session["user"].ToString();
                if (!string.IsNullOrEmpty(ulogin))
                {
                    if (ComHelper.GetDate() == "早上")
                    {
                        ViewData["img"] = ComHelper.GetMorning();
                    }
                    else if (ComHelper.GetDate() == "下午")
                    {
                        ViewData["img"] = ComHelper.GetNoon();
                    }
                    else
                    {
                        ViewData["img"] = ComHelper.GetNight();
                    }
                }
            }

            #endregion

            if (Session["user"] != null)
            {
                string query = string.Format("uname='{0}' ", Session["user"].ToString());
                msguser = userlogic.GetInfo <User>("user", query);
                if (msguser.Msgflag)
                {
                    user = (User)((List <User>)msguser.Msgvalue).FirstOrDefault();
                }

                if (user.Des != "")
                {
                    ViewData["flag"] = user.Des;
                }
                else
                {
                    ViewData["flag"] = ComHelper.GetFlag();
                }
            }
            else
            {
                ViewData["flag"] = ComHelper.GetFlag();
            }


            #region 分页形式

            List <Talk>    talks = new List <Talk>();
            IMessageEntity msg   = new MessageEntity();
            msg = talklogic.GetBigInfo <Talk>("talk", "display=1");
            if (msg.Msgflag)
            {
                talks = (List <Talk>)msg.Msgvalue;
            }


            int pageIndex = page ?? 1;            //第几页
            int pageSize  = ComHelper.PageSize(); //每页显示几条数据
            //通过ToPagedList扩展方法进行分页
            IPagedList <Talk> talkPagedList = talks.ToPagedList(pageIndex, pageSize);



            #endregion


            return(View(talkPagedList));
        }
Esempio n. 9
0
 public void Send(IMessageEntity entity)
 {
     Send(m_Encoder.EncodeMessage(entity));
 }
Esempio n. 10
0
        public static MessageEntity Parse(IMessageEntity entity)
        {
            string key = entity.GetType().FullName;

            return(Switch[key](entity));
        }
Esempio n. 11
0
 public ArraySegment <byte> EncodeMessage(IMessageEntity message)
 {
     return(InternalEncodeMessage(message, DefaultBuffSize));
 }