/// <summary> /// Sends a request for a View to the server asynchronously. /// </summary> /// <typeparam name="T">The <see cref="Type" /> T of the body for each row result.</typeparam> /// <param name="query">The <see cref="IViewQuery" /> representing the query.</param> /// <returns> /// An <see cref="Task{IViewResult}" /> object representing the asynchronous operation. /// </returns> public Task <IViewResult <T> > SendAsync <T>(IViewQueryable query) { Task <IViewResult <T> > result; try { query.BaseUri(CachedViewBaseUri); result = query.IsStreaming ? _streamingViewClient.ExecuteAsync <T>(query) : ViewClient.ExecuteAsync <T>(query); } catch (Exception e) { var tcs = new TaskCompletionSource <IViewResult <T> >(); tcs.SetResult(new ViewResult <T> { Exception = e, Message = e.Message, Error = e.Message, Success = false, StatusCode = HttpStatusCode.BadRequest, Rows = new List <ViewRow <T> >() }); result = tcs.Task; } return(result); }
/// <summary> /// Sends a request for a View to the server asynchronously. /// </summary> /// <typeparam name="T">The <see cref="Type" /> T of the body for each row result.</typeparam> /// <param name="query">The <see cref="IViewQuery" /> representing the query.</param> /// <returns> /// An <see cref="Task{IViewResult}" /> object representing the asynchronous operation. /// </returns> public Task <IViewResult <T> > SendAsync <T>(IViewQuery query) { Task <IViewResult <T> > result; try { var baseUri = GetBaseViewUri(query.BucketName); query.BaseUri(baseUri); result = ViewClient.ExecuteAsync <T>(query); } catch (Exception e) { var tcs = new TaskCompletionSource <IViewResult <T> >(); tcs.SetResult(new ViewResult <T> { Exception = e, Message = e.Message, Error = e.Message, Success = false, StatusCode = HttpStatusCode.BadRequest, Rows = new List <ViewRow <T> >() }); result = tcs.Task; } return(result); }
public async Task <IViewResult <T> > SendAsync <T>(IViewQuery query) { return(await ViewClient.ExecuteAsync <T>(query)); }