public static async Task <IEnumerable <T> > GetItems(Expression <Func <T, bool> > predicate) { var query = Client.CreateDocumentQuery <DocumentWrap <T> >(Collection.DocumentsLink) .Where(d => d.Id.StartsWith(DocumentWrapHelper.GetTypeNameWithBaseTypes(typeof(T)) + DocumentConsts.IdDevider)) .Select(d => d.Document) .Where(predicate) .AsDocumentQuery(); var feed = await query.ExecuteNextAsync <DocumentWrap <T> >(); return(feed.Select(f => f.Document).AsEnumerable()); }
/// <summary> /// Delete document by it's id. /// </summary> /// <param name="id">ID of the document without classname</param> /// <returns></returns> public static async Task DeleteItemById(string id) { await DeleteItemByDocumentId(DocumentWrapHelper.ConcateIds(typeof(T).Name, id)); }
public static async Task <T> GetById(string id) { var res = await TryGetById(id); if (res == null) { throw new KeyNotFoundException(String.Format("Document not found with id: {0}", DocumentWrapHelper.ConcateIds(typeof(T).Name, id))); } return(res); }