public async Task <ViewDetail> Get(string viewName, GetViewOptions options, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer, CancellationToken cancellationToken) { Argument.IsNotNullOrEmpty(viewName, nameof(viewName)); var parameters = new Dictionary <string, string>(); if (options?.StartDate != null) { parameters.Add(nameof(options.StartDate), options.StartDate.Value.ToString("O")); } if (options?.EndDate != null) { parameters.Add(nameof(options.EndDate), options.EndDate.Value.ToString("O")); } if (options?.Page != null) { parameters.Add(nameof(options.Page), options.Page.ToString()); } if (options?.PageSize != null) { parameters.Add(nameof(options.PageSize), options.PageSize.ToString()); } IEnumerable <KeyValuePair <string, string> > getParameters = parameters; if (options?.Include?.Any() == true) { var includes = options.Include.Select(ic => new KeyValuePair <string, string>("include", ic)); getParameters = parameters.Union(includes); } return(await apiConnection.Get <ViewDetail>($"views/{viewName}", getParameters, httpMessageTransformer, cancellationToken).ConfigureAwait(false)); }
public Task <ViewDetail> Get(string viewName, GetViewOptions options) { return(Get(viewName, options, null, CancellationToken.None)); }