public void GetUserTimeLine(String id, int count, GetUserTimeLineCompleteHandler handler) { if (m_netEngine == null) m_netEngine = new DoubanNetEngine(); if (count > 200) count = 200; RestRequest request = new RestRequest(); request.Method = WebMethod.Get; request.Path = String.Format("shuo/v2/statuses/user_timeline/{0}", id); request.AddParameter("count",count.ToString()); m_netEngine.SendRequest(request, (DoubanSdkResponse response) => { if (response.errCode == DoubanSdkErrCode.SUCCESS) { GetUserTimeLineEventArgs args = new GetUserTimeLineEventArgs(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Statuses>)); List<Statuses> list = ser.ReadObject(response.stream) as List<Statuses>; args.statues = list; args.errorCode = DoubanSdkErrCode.SUCCESS; args.specificCode = response.specificCode; handler(args); } else { GetUserTimeLineEventArgs args = new GetUserTimeLineEventArgs(); args.statues = null; args.errorCode = response.errCode; args.specificCode = response.specificCode; handler(args); } }); }
private void DoubanFeedGetCallback(GetUserTimeLineEventArgs args) { if (args.errorCode == DoubanSdkErrCode.SUCCESS && args.statues != null) { Deployment.Current.Dispatcher.BeginInvoke(() => { foreach (DoubanSDK.Statuses statues in args.statues) { ItemViewModel model = DoubanModelConverter.ConvertDoubanUnionStatues(statues); if (model != null) { App.ViewModel.DoubanItems.Add(model); } } m_progressIndicatorHelper.PopTask("Douban"); }); } else { Deployment.Current.Dispatcher.BeginInvoke(() => { if (args.specificCode == "106") { MessageBox.Show("豆瓣授权已过期,请重新登陆", ">_<", MessageBoxButton.OK); } else { MessageBox.Show("豆瓣信息获取发生未知错误,请确保网络连接正常", ">_<", MessageBoxButton.OK); } m_progressIndicatorHelper.PopTask("Douban"); }); } }