Imgur.API.RequestBuilders.AlbumRequestBuilder.UpdateAlbumRequest C# (CSharp) Method

UpdateAlbumRequest() private method

/// Thrown when a null reference is passed to a method that does not accept it as a /// valid argument. ///
private UpdateAlbumRequest ( string url, string title = null, string description = null, AlbumPrivacy privacy = null, AlbumLayout layout = null, string coverId = null, IEnumerable imageIds = null ) : HttpRequestMessage
url string
title string
description string
privacy AlbumPrivacy
layout AlbumLayout
coverId string
imageIds IEnumerable
return System.Net.Http.HttpRequestMessage
        internal HttpRequestMessage UpdateAlbumRequest(string url,
            string title = null, string description = null,
            AlbumPrivacy? privacy = null, AlbumLayout? layout = null,
            string coverId = null, IEnumerable<string> imageIds = null)
        {
            if (string.IsNullOrWhiteSpace(url))
                throw new ArgumentNullException(nameof(url));

            var parameters = new Dictionary<string, string>();

            if (privacy != null)
                parameters.Add(nameof(privacy), $"{privacy}".ToLower());

            if (layout != null)
                parameters.Add(nameof(layout), $"{layout}".ToLower());

            if (coverId != null)
                parameters.Add("cover", coverId);

            if (title != null)
                parameters.Add(nameof(title), title);

            if (description != null)
                parameters.Add(nameof(description), description);

            if (imageIds != null)
                parameters.Add("ids", string.Join(",", imageIds));

            var request = new HttpRequestMessage(HttpMethod.Post, url)
            {
                Content = new FormUrlEncodedContent(parameters.ToArray())
            };

            return request;
        }
    }

Usage Example

        public async Task UpdateAlbumRequest_Equal()
        {
            var client = new ImgurClient("123", "1234");
            var requestBuilder = new AlbumRequestBuilder();

            var mockUrl = $"{client.EndpointUrl}album/AbcdeF";
            var ids = new List<string> {"Abc", "DEF", "XyZ"};

            var request = requestBuilder.UpdateAlbumRequest(
                mockUrl, "TheTitle", "TheDescription",
                AlbumPrivacy.Hidden, AlbumLayout.Horizontal,
                "io9XpoO", ids);

            var expected =
                "privacy=hidden&layout=horizontal&cover=io9XpoO&title=TheTitle&description=TheDescription&ids=Abc%2CDEF%2CXyZ";

            Assert.NotNull(request);
            Assert.Equal(expected, await request.Content.ReadAsStringAsync().ConfigureAwait(false));
            Assert.Equal("https://api.imgur.com/3/album/AbcdeF", request.RequestUri.ToString());
            Assert.Equal(HttpMethod.Post, request.Method);
        }
All Usage Examples Of Imgur.API.RequestBuilders.AlbumRequestBuilder::UpdateAlbumRequest