//protected IUserRepository<UserDTO> userRepository = RepositoryFactory.GetInstance().GetUserRepository();
        //protected IAuthProfileRepository<AuthProfileDTO> authProfileRepository = RepositoryFactory.GetInstance().GetAuthProfileRepository();
        public string Handle_LocationEventMessage(LocationMessage message)
        {
            //回复欢迎消息
            TextMessage tm = new TextMessage();
            tm.ToUserName = message.FromUserName;
            tm.FromUserName = message.ToUserName;
            tm.CreateTime = WeiXinHelper.GetNowTime();
            //tm.Content = string.Format("您当前的经度:{0}, 纬度{1}",message.Longitude, message.Latitude);

            string url = string.Format("http://lbs.juhe.cn/api/getaddressbylngb?lngx={0}&lngy={1}", message.Longitude, message.Latitude);
            string content = HttpUtility.SendGetHttpRequest(url, "text/json");
            //Log4netHelper.Write("content from web: " + content);

            JsonTextReader tr = new JsonTextReader(new StringReader(content));
            JsonSerializer jSerializer = new JsonSerializer();
            LocationSearchResult rObj = jSerializer.Deserialize<LocationSearchResult>(tr);

            //Log4netHelper.Write("resultinfo: " + rObj.resultinfo);
            //Log4netHelper.Write("formatted_address: " + rObj.row.result.formatted_address);

            //Log4netHelper.Write("Handle_LocationEventMessage content: " + content);
            tm.Content = string.Format("您当前的位置为:{0}", rObj.row.result.formatted_address);
            string returnValue = tm.GetResponseString();
            return returnValue;
        }
Beispiel #2
0
        /// <summary>
        /// 从xml数据加载文本消息
        /// </summary>
        /// <param name="xml"></param>
        public static EventMessage LoadFromXml(XElement rootElement)
        {
            EventMessage em = null;

            string eventValue = rootElement.Element(WeiXinConstants.EVENT).Value.ToLower();

            switch (eventValue)
            {
                case "click":
                case "view":
                    em = new MenuEventMessage();
                    break;
                case "location":
                    em = new LocationMessage();
                    break;
                default:
                    em = new MenuEventMessage();
                    break;
            }

            em.FromXML(rootElement);

            return em;
        }