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()); }); }
/// <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))); }