Exemplo n.º 1
0
        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);
                }
            });
        }
Exemplo n.º 2
0
 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");
         });
     }
 }