Example #1
0
        public ActionResult Add(WX_MenuEvent me)
        {
            me.AppId = WXAPP.AppId;
            var r = new WX_MenuEventManager().Add(me);

            return(Json(r, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public ActionResult Index(string id)
        {
            if (this.Request.RequestType.ToLower() == "get")
            {
                string signature = Request.QueryString["signature"];
                string timestamp = Request.QueryString["timestamp"];
                string nonce     = Request.QueryString["nonce"];
                string echostr   = Request.QueryString["echostr"];
                return(Content(echostr));
            }
            else
            {
                string xml          = MyHttpUtility.ReadRequest(this.Request);
                int    createTime   = Convert.ToInt32(XmlUtility.GetSingleNodeInnerText(xml, "/xml/CreateTime"));
                string fromUserName = XmlUtility.GetSingleNodeInnerText(xml, "/xml/FromUserName");
                string toUserName   = XmlUtility.GetSingleNodeInnerText(xml, "/xml/ToUserName");
                string msgType      = XmlUtility.GetSingleNodeInnerText(xml, "/xml/MsgType");
                if (msgType == "event")
                {//事件
                    WX_EventQueue info = new WX_EventQueue()
                    {
                        CreateTime = DateTimeUtility.Parse(createTime),
                        Event      = XmlUtility.GetSingleNodeInnerText(xml, "/xml/Event"),
                        MsgState   = 1,
                        MsgType    = msgType,
                        XmlContent = xml,
                        OpenID     = XmlUtility.GetSingleNodeInnerText(xml, "/xml/FromUserName"),
                        AppId      = id
                    };
                    new WX_EventQueueManager().Add(info);

                    //回复消息
                    string key = XmlUtility.GetSingleNodeInnerText(xml, "/xml/EventKey");
                    WX_MenuEventManager manager = new WX_MenuEventManager();
                    var eve = manager.Where(e => e.MenuKey.Equals(key)).FirstOrDefault();
                    if (eve != null)
                    {
                        string respXml = eve.GetXML(toUserName, fromUserName);
                        return(Content(respXml));
                    }
                }
                else
                { //消息
                    WX_Queue info = new WX_Queue()
                    {
                        MsgState   = 1,
                        MsgId      = XmlUtility.GetSingleNodeInnerText(xml, "/xml/MsgId"),
                        CreateTime = DateTimeUtility.Parse(createTime),
                        XmlContent = xml,
                        OpenID     = XmlUtility.GetSingleNodeInnerText(xml, "/xml/FromUserName"),
                        MsgType    = msgType,
                        AppId      = id
                    };
                    WX_QueueManager manager = new WX_QueueManager();
                    if (manager.GetByPK(info.MsgId) == null)
                    {
                        var r = manager.Add(info);
                    }
                }


                return(Content("success"));
            }
        }
Example #3
0
        public ActionResult Delete(string key)
        {
            var r = new WX_MenuEventManager().Delete(new object[] { WXAPP.AppId, key });

            return(Json(r, JsonRequestBehavior.AllowGet));
        }