Exemple #1
0
        /// <summary>
        /// Updates a blog.
        /// </summary>
        /// <param name="blogId">Id of the object being updated.</param>
        /// <param name="blog">The updated blog.</param>
        /// <param name="metafields">Optional metafield data that can be returned by the <see cref="MetaFieldService"/>.</param>
        /// <param name="cancellationToken">Cancellation Token</param>
        public virtual async Task <Entities.Blog> UpdateAsync(long blogId, Entities.Blog blog, IEnumerable <Entities.MetaField> metafields = null, CancellationToken cancellationToken = default)
        {
            var request = PrepareRequest($"blogs/{blogId}.json");
            var body    = blog.ToDictionary();

            if (metafields != null && metafields.Count() >= 1)
            {
                body.Add("metafields", metafields);
            }

            var content = new JsonContent(new
            {
                blog = body
            });

            var response = await ExecuteRequestAsync <Entities.Blog>(request, HttpMethod.Put, cancellationToken, content, "blog");

            return(response.Result);
        }