Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public Task <ViewDetail> Get(string viewName, GetViewOptions options)
 {
     return(Get(viewName, options, null, CancellationToken.None));
 }