protected virtual string GenerateRelativeUrl <T>(PostEntityRequest <T> request) where T : class { var urlParams = new UrlParams(); urlParams.AddIfTrue("batch", request.Batch, "ok"); return(string.Format("/{0}", new QueryString(urlParams))); }
public virtual HttpRequest Create <T>(PostEntityRequest <T> request) where T : class { Ensure.Any.IsNotNull(request, nameof(request)); return(new HttpRequest(HttpMethod.Post, GenerateRelativeUrl(request)) .SetRequestTypeHeader(request.GetType()) .SetJsonContent(SerializeEntity(request.Entity))); }
public virtual HttpRequest Create <T>(PostEntityRequest <T> request) where T : class { var httpRequest = CreateFor <PostEntityRequest <T> >(HttpMethod.Post, GenerateRequestUrl()); httpRequest.SetContent(SerializeEntity(request.Entity)); return(httpRequest); }
public virtual async Task <EntityResponse <T> > PostAsync <T>(PostEntityRequest <T> request) where T : class { var httpRequest = CreateHttpRequest(request); using (var res = await SendAsync(httpRequest).ForAwait()) { return(ProcessEntityResponse(request, res)); } }
public async static Task<EntityResponse<Property>> Post(Property property) { using (var db = Database.Connect()) { var post = new PostEntityRequest<Property>(property); var result = await db.Entities.PostAsync<Property>(property); return result; } }
public virtual async Task <EntityResponse <T> > PostAsync <T>(PostEntityRequest <T> request, CancellationToken cancellationToken = default) where T : class { var httpRequest = PostHttpRequestFactory.Create(request); using (var res = await SendAsync(httpRequest, cancellationToken).ForAwait()) { return(await ProcessEntityResponseAsync(request, res).ForAwait()); } }
protected virtual EntityResponse <T> ProcessEntityResponse <T>(PostEntityRequest <T> request, HttpResponseMessage response) where T : class { var entityResponse = EntityResponseFactory.Create <T>(response); entityResponse.Content = request.Entity; if (entityResponse.IsSuccess) { Reflector.IdMember.SetValueTo(entityResponse.Content, entityResponse.Id); Reflector.RevMember.SetValueTo(entityResponse.Content, entityResponse.Rev); } return(entityResponse); }
protected virtual HttpRequest CreateHttpRequest <T>(PostEntityRequest <T> request) where T : class { return(PostHttpRequestFactory.Create(request)); }