/// <inheritdoc /> internal virtual async Task <string> GetByMappedEntityAsync(string pluralizedEntityName, List <string> ids, string urlParameters = null) { var url = $"{ServiceUrl}/{EntityPluralized}/{pluralizedEntityName}/Ids"; url = AppendUrlParameters(urlParameters, url); return(await HttpClientRunner.RunAndDeserialize <List <string>, string>(HttpClient.PostAsync, url, ids)); }
/// <inheritdoc /> public virtual async Task <OdataObject <TEntity, TId> > GetAsync(string idOrName) { var id = idOrName.To <TId>(); if (id.Equals(default(TId))) { var urlEncodedAlternateId = WebUtility.UrlEncode(idOrName); return(await HttpClientRunner.RunAndDeserialize <OdataObject <TEntity, TId> >(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}({urlEncodedAlternateId})")); } return(await EntityCache.GetWithCache(id, HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}({idOrName})")); }
internal async Task <OdataObject <T, TId> > UpdateCache(Func <string, Task <HttpResponseMessage> > methodIfNotCached, string url) { OdataObject <T, TId> e = await HttpClientRunner.RunAndDeserialize <OdataObject <T, TId> >(methodIfNotCached, url); if (e != null) { var key = (TId)e.GetType().GetProperty(Id).GetValue(e); Cache[key] = e; } return(e); }
internal async Task <OdataObjectCollection <T, TId> > UpdateCache(IEnumerable <TId> ids, Func <string, HttpContent, Task <HttpResponseMessage> > methodIfNotCached, string url) { if (ids == null && !ids.Any()) { return(null); } var list = await HttpClientRunner.RunAndDeserialize <IEnumerable <TId>, OdataObjectCollection <T, TId> >(methodIfNotCached, url, ids); if (list != null && list.Count > 0) { foreach (var e in list) { var key = (TId)e.GetType().GetProperty(Id).GetValue(e); Cache[key] = e; } } return(list); }
public virtual async Task <int> GetCountAsync() { return(await HttpClientRunner.RunAndDeserialize <int>(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}?$count")); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <Addendum, long> > GetAddendaByEntityIdsAsync(List <string> ids) { return(await HttpClientRunner.RunAndDeserialize <List <string>, OdataObjectCollection <Addendum, long> >(HttpClient.PostAsync, $"{ServiceUrl}/{EntityPluralized}/Ids/Addenda", ids)); }
/// <inheritdoc /> public virtual async Task <Addendum> GetAddendaByNameAsync(string id, string name) { return(await HttpClientRunner.RunAndDeserialize <Addendum>(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}({id})/Addenda({name})")); }
public virtual async Task <bool> DeleteAsync(string id) { return(await HttpClientRunner.RunAndDeserialize <bool>(HttpClient.DeleteAsync, $"{ServiceUrl}/{EntityPluralized}({id})")); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > GetByCustomUrlAsync(string urlPart) { return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <TEntity, TId> >(HttpClient.GetAsync, $"{ServiceUrl}/{urlPart}")); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > PostAsync(List <TEntity> entities) { return(await HttpClientRunner.RunAndDeserialize <List <TEntity>, OdataObjectCollection <TEntity, TId> >(HttpClient.PostAsync, $"{ServiceUrl}/{EntityPluralized}", entities, JsonSerializerSettings)); }
/// <inheritdoc /> public virtual async Task <CsdlEntity <TEntity> > GetMetadataAsync() { return(await HttpClientRunner.RunAndDeserialize <CsdlEntity <TEntity> >(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}/$Metadata")); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > GetByPropertyValuesAsync(string property, IEnumerable <string> values) { HttpContent postContent = new StringContent(JsonConvert.SerializeObject(values, JsonSerializerSettings), Encoding.UTF8, "application/json"); return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <TEntity, TId> >(HttpClient.PostAsync, $"{ServiceUrl}/{EntityPluralized}/{property}/Values", postContent)); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > GetByQueryParametersAsync(string queryParameters) { return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <TEntity, TId> >(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}?{queryParameters}")); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > GetByCustomUrlAsync(string urlPart, Func <string, HttpContent, Task <HttpResponseMessage> > httpMethod, object content) { HttpContent postContent = new StringContent(JsonConvert.SerializeObject(content, JsonSerializerSettings), Encoding.UTF8, "application/json"); return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <TEntity, TId> >(httpMethod, $"{ServiceUrl}/{urlPart}", postContent)); }
/// <inheritdoc /> public virtual async Task <OdataObject <TEntity, TId> > GetByAlternateKeyAsync(string altKey) { var urlEncodedAlternateId = WebUtility.UrlEncode(altKey); return(await HttpClientRunner.RunAndDeserialize <OdataObject <TEntity, TId> >(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}({urlEncodedAlternateId})")); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > GetAllAsync() { return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <TEntity, TId> >(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}")); }
/// <inheritdoc /> public virtual async Task <OdataObject <TEntity, TId> > PutAsync(string id, TEntity entity) { return(await HttpClientRunner.RunAndDeserialize <TEntity, OdataObject <TEntity, TId> >(HttpClient.PutAsync, $"{ServiceUrl}/{EntityPluralized}({id})", entity, JsonSerializerSettings)); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <TEntity, TId> > GetByCustomUrlAsync(string urlPart, Func <string, HttpContent, Task <HttpResponseMessage> > httpMethod, HttpContent content) { return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <TEntity, TId> >(httpMethod, $"{ServiceUrl}/{urlPart}", content)); }
public virtual async Task <string> UpdatePropertyAsync(string id, string property, string value) { return(await HttpClientRunner.RunAndDeserialize <string, string>(HttpClient.PostAsync, $"{ServiceUrl}/{EntityPluralized}({id})/{property}", value, JsonSerializerSettings)); }
/// <inheritdoc /> internal virtual async Task <OdataObjectCollection <TEntity, TId> > GetByMappedEntityAsync <Eid>(string pluralizedEntityName, List <Eid> ids) { return(await HttpClientRunner.RunAndDeserialize <List <Eid>, OdataObjectCollection <TEntity, TId> >(HttpClient.PostAsync, $"{ServiceUrl}/{EntityPluralized}/{pluralizedEntityName}/Ids", ids)); }
/// <inheritdoc /> public virtual async Task <OdataObjectCollection <Addendum, long> > GetAddendaAsync(string id) { return(await HttpClientRunner.RunAndDeserialize <OdataObjectCollection <Addendum, long> >(HttpClient.GetAsync, $"{ServiceUrl}/{EntityPluralized}({id})/Addenda")); }