public static IOrderedFindFluent <TEntity, TProjection> OrderBy(IFindFluent <TEntity, TProjection> findFluent, string propertyName, Enums.SortDirectionEnum sortDirection) { propertyName.NotNullOrEmpty("propertyName"); var keySelector = GetKeySelector(propertyName); return(sortDirection == Enums.SortDirectionEnum.Ascending ? IFindFluentExtensions.SortBy <TEntity, TProjection>(findFluent, keySelector) : IFindFluentExtensions.SortByDescending <TEntity, TProjection>(findFluent, keySelector)); }
public async Task <T> FindAsync <TKey>(TKey id, string name = "_id") { FilterDefinition <T> filterDefinition = Builders <T> .Filter.Eq <TKey>(name, id); IFindFluent <T, T> findFluent = IMongoCollectionExtensions.Find <T>(this.Collection, filterDefinition, null); return(await IFindFluentExtensions.FirstOrDefaultAsync <T, T>(findFluent, new CancellationToken())); }
public static IOrderedFindFluent <TEntity, TProjection> ThenBy(IOrderedFindFluent <TEntity, TProjection> orderedFind, string propertyName, Flow.Enums.SortDirection sortDirection) { propertyName.NotNullOrEmpty("propertyName"); var keySelector = GetKeySelector(propertyName); return(sortDirection == Flow.Enums.SortDirection.Ascending ? IFindFluentExtensions.ThenBy <TEntity, TProjection>(orderedFind, keySelector) : IFindFluentExtensions.ThenByDescending <TEntity, TProjection>(orderedFind, keySelector)); }
public async Task <T> FindAsync(Expression <Func <T, bool> > where) { IFindFluent <T, T> findFluent = IMongoCollectionExtensions.Find <T>(this.Collection, where, null); return(await IFindFluentExtensions.FirstOrDefaultAsync <T, T>(findFluent, new CancellationToken())); }
public async Task <T> FindAsync(FilterDefinition <T> query) { IFindFluent <T, T> findFluent = IMongoCollectionExtensions.Find <T>(this.Collection, query, null); return(await IFindFluentExtensions.FirstOrDefaultAsync <T, T>(findFluent, new CancellationToken())); }