Ejemplo n.º 1
0
        public void DomainEmailForwardsListOptions()
        {
            var sorting =
                new KeyValuePair <string, string>("sort",
                                                  "id:asc,from:asc,to:desc");
            var pagination = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("per_page", "42"),
                new KeyValuePair <string, string>("page", "7")
            };

            var options = new DomainEmailForwardsListOptions
            {
                Pagination = new Pagination
                {
                    Page    = 7,
                    PerPage = 42
                }
            };

            options.SortById(Order.asc).SortByFrom(Order.asc)
            .SortByTo(Order.desc);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(sorting, options.UnpackSorting());
                Assert.AreEqual(pagination, options.UnpackPagination());
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// List email forwards for the domain in the account.
        /// </summary>
        /// <param name="accountId">The account id</param>
        /// <param name="domainIdentifier">The domain name or id</param>
        /// <param name="options">Options passed to the list (sorting, pagination)</param>
        /// <returns>A list of all email forwards for the domain</returns>
        /// <see>https://developer.dnsimple.com/v2/domains/email-forwards/#listEmailForwards</see>
        public PaginatedDnsimpleResponse <EmailForward> ListEmailForwards(long accountId,
                                                                          string domainIdentifier, DomainEmailForwardsListOptions options)
        {
            var requestBuilder = Client.Http
                                 .RequestBuilder(EmailForwardsPath(accountId, domainIdentifier));

            requestBuilder.AddParameter(options.UnpackSorting());

            if (!options.Pagination.IsDefault())
            {
                requestBuilder.AddParameters(options.UnpackPagination());
            }

            return(new PaginatedDnsimpleResponse <EmailForward>(Client.Http.Execute(requestBuilder
                                                                                    .Request)));
        }