/// <summary> /// The WordPressClient holds all connection infos and provides methods to call WordPress APIs. /// </summary> /// <param name="uri">URI for WordPress API endpoint, e.g. "http://demo.wp-api.org/wp-json/"</param> public WordPressClient(string uri) { if (string.IsNullOrWhiteSpace(uri)) { throw new ArgumentNullException(nameof(uri)); } if (!uri.EndsWith("/")) { uri += "/"; } _wordPressUri = uri; _httpHelper = new HttpHelper(WordPressUri); Posts = new Posts(ref _httpHelper, defaultPath); Comments = new Comments(ref _httpHelper, defaultPath); Tags = new Tags(ref _httpHelper, defaultPath); Users = new Users(ref _httpHelper, defaultPath); Media = new Media(ref _httpHelper, defaultPath); Categories = new Categories(ref _httpHelper, defaultPath); Pages = new Pages(ref _httpHelper, defaultPath); Taxonomies = new Taxonomies(ref _httpHelper, defaultPath); PostTypes = new PostTypes(ref _httpHelper, defaultPath); PostStatuses = new PostStatuses(ref _httpHelper, defaultPath); CustomRequest = new CustomRequest(ref _httpHelper); }
/// <summary> /// The WordPressClient holds all connection infos and provides methods to call WordPress APIs. /// </summary> /// <param name="httpClient">HttpClient with BaseAddress set which will be used for sending requests to the WordPress API endpoint.</param> /// <param name="defaultPath">Relative path to standard API endpoints, defaults to "wp/v2/"</param> public WordPressClient(HttpClient httpClient, string defaultPath = DEFAULT_PATH) { if (httpClient == null) { throw new ArgumentNullException(nameof(httpClient)); } string uri = httpClient.BaseAddress.ToString(); if (!uri.EndsWith("/", StringComparison.Ordinal)) { uri += "/"; } WordPressUri = uri; _defaultPath = defaultPath; _httpHelper = new HttpHelper(httpClient); Posts = new Posts(ref _httpHelper, _defaultPath); Comments = new Comments(ref _httpHelper, _defaultPath); Tags = new Tags(ref _httpHelper, _defaultPath); Users = new Users(ref _httpHelper, _defaultPath); Media = new Media(ref _httpHelper, _defaultPath); Categories = new Categories(ref _httpHelper, _defaultPath); Pages = new Pages(ref _httpHelper, _defaultPath); Taxonomies = new Taxonomies(ref _httpHelper, _defaultPath); PostTypes = new PostTypes(ref _httpHelper, _defaultPath); PostStatuses = new PostStatuses(ref _httpHelper, _defaultPath); CustomRequest = new CustomRequest(ref _httpHelper); }
async public Task UpdatePostStatusAsync(int id, PostStatuses postStatus) { Post updatedPost = await Context.Post.FindAsync(id); if (updatedPost == null) { throw new ArgumentException($"Invalid Post id ({id}). Unable to find Post entry."); } updatedPost.PostStatusId = (int)postStatus; updatedPost.UpdatedAt = DateTime.UtcNow; await Context.SaveChangesAsync(); }
public bool ChangeStatus(int postId, PostStatuses status) { Post post = FindById(postId); if (post != null) { post.StatusId = (int)status; if (status == PostStatuses.Approved) { post.ApprovalDate = DateTime.Now; } return(Update(post)); } return(false); }
protected string ToSqlPostStatus(PostStatuses postStatus) { switch (postStatus) { case PostStatuses.Published: return "publish"; case PostStatuses.Future: return "future"; case PostStatuses.Draft: return "draft"; case PostStatuses.Pending: return "pending"; case PostStatuses.Private: return "private"; case PostStatuses.Trash: return "trash"; case PostStatuses.AutoDraft: return "auto-draft"; case PostStatuses.Inherit: return "inherit"; default: throw new NotImplementedException(string.Format("Post Status: {0}", postStatus)); } }