public void get_search_results(string search, int count = 0, int page = 0, string post_type = null) { WordpressEventArgs args = new WordpressEventArgs(WordpressDataType.PostList, HttpStatusCode.OK, true); string str = url + "?json=get_search_results&search=" + search; if (count != 0) { str += "&count=" + count.ToString(); } if (page != 0) { str += "&page=" + page.ToString(); } if (!string.IsNullOrEmpty(post_type)) { str += "&post_type=" + post_type; } Helper.HttpWebRequestDownload((asynchronousResult) => { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); PostList pl = new PostList(); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); pl = Helper.Deserialize<PostList>(resultString); } } catch { args.Success = false; } } else { args.Success = false; args.ResponseCode = response.StatusCode; pl.Count = 1; pl.Posts = new List<Post>(); pl.Posts.Add(new Post() { Title = "Failed to connect", Content = "Check data connection and try again, HttpStatusCode=" + response.StatusCode}); } Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { get_search_results_complete.Invoke(pl, args); } catch { } })); }, str); }
/// <summary> /// Gets a page with a given slug /// </summary> /// <param name="slug">Page slug to find</param> /// <param name="children">Search page children as well</param> public void get_page(string slug, bool children = false) { WordpressEventArgs args = new WordpressEventArgs(WordpressDataType.PostList,HttpStatusCode.OK,true); string str = url + "?json=get_page&slug=" + slug; if (children) { str += "&children=true"; } Helper.HttpWebRequestDownload((asynchronousResult) => { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); PostList pl = new PostList(); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); pl = Helper.Deserialize<PostList>(resultString); } } catch { args.Success = false; } } else { args.Success = false; args.ResponseCode = response.StatusCode; pl.Count = 1; List<Category> cats = new List<Category>(); cats.Add(new Category() { Slug = slug }); pl.Posts = new List<Post>(); pl.Posts.Add(new Post() { Title = "Failed to connect", Content = "Check data connection and try again, HttpStatusCode=" + response.StatusCode, Categories = cats }); } Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { get_page_complete.Invoke(pl, new WordpressEventArgs()); } catch { } })); }, str); }
public void get_nonce(string controller, string method) { string str = url + "?json=get_nonce&controller=" + controller + "method=" + method; NonceItem nonce = new NonceItem(); WordpressEventArgs args = new WordpressEventArgs(WordpressDataType.Nonce, HttpStatusCode.OK, true); Helper.HttpWebRequestDownload((asynchronousResult) => { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); nonce = Helper.Deserialize<NonceItem>(resultString); } } catch { args.Success = false; } } else { args.ResponseCode = response.StatusCode; args.Success = false; } Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { get_nonce_complete.Invoke(nonce, args); } catch { } })); }, str); }
/// <summary> /// Gets information about a specific controller /// </summary> /// <param name="controller">Controller to retrieve information about (Core, Respond or Post)</param> public void info(string controller) { string str = url + "?json=info&controller=" + controller; Controller info = new Controller(); WordpressEventArgs args = new WordpressEventArgs(WordpressDataType.Controller, HttpStatusCode.OK, true); Helper.HttpWebRequestDownload((asynchronousResult) => { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); info = Helper.Deserialize<Controller>(resultString); } } catch { args.Success = false; } } else { args.ResponseCode = response.StatusCode; args.Success = false; } Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { info_complete.Invoke(info, args); } catch { } })); }, str); }
public void get_author_index() { string str = url + "?json=get_author_index"; AuthorIndex authors = new AuthorIndex(); WordpressEventArgs args = new WordpressEventArgs(WordpressDataType.AuthorIndex, HttpStatusCode.OK, true); Helper.HttpWebRequestDownload((asynchronousResult) => { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); authors = Helper.Deserialize<AuthorIndex>(resultString); } } catch { args.Success = false; } } else { args.ResponseCode = response.StatusCode; args.Success = false; } Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { get_author_index_complete.Invoke(authors, args); } catch { } })); }, str); }
/// <summary> /// Gets a post of a given ID /// </summary> /// <param name="id">The post ID to retrieve</param> public void get_post(int id) { string str = url + "?json=get_post&id=" + id; WordpressEventArgs args = new WordpressEventArgs(WordpressDataType.SinglePost,HttpStatusCode.OK,true); Helper.HttpWebRequestDownload((asynchronousResult) => { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); SinglePost post = new SinglePost(); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); post = Helper.Deserialize<SinglePost>(resultString); } } catch { args.Success=false; } } else { args.ResponseCode=response.StatusCode; args.Success=false; post = new SinglePost(){Post = new Post(){ Title = "Failed to connect", Content = "Check data connection and try again, HttpStatusCode=" + response.StatusCode}}; } Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { get_post_complete.Invoke(post,args); } catch { } })); }, str); }
public void submit_comment(int postid, string name, string email, string content, string redirect = null, string redirect_ok = null, string redirect_error = null, string redirect_pending = null) { string str = url + "?json=submit_comment" + "&post_id=" + postid + "&name=" + Helper.HtmlEncode(name) + "&email=" + Helper.HtmlEncode(email) + "&content=" + Helper.HtmlEncode(content); /* Helper.Upload((sender, e) => { Comment comment = new Comment(); if (!e.Cancelled && e.Error == null) { comment = Helper.Deserialize<Comment>(e.Result.ToString()); } try { submit_comment_complete.Invoke(comment, new WordpressEventArgs(WordpressDataType.Comment, ((HttpWebResponse)sender)., true)); } catch { } }, str);*/ WordpressEventArgs args = new WordpressEventArgs(); Helper.HttpWebRequestDownload((asynchronousResult) => { Comment c = new Comment(); try { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); if (response.StatusCode == HttpStatusCode.OK) { try { using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) { string resultString = streamReader1.ReadToEnd(); c = Helper.Deserialize<Comment>(resultString); } } catch { args.Success = false; } } else { args.Success = false; args.ResponseCode = response.StatusCode; } } catch { } finally { Deployment.Current.Dispatcher.BeginInvoke(new Action(() => { try { submit_comment_complete.Invoke(c, args); } catch { } })); } }, str); }