Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 4
0
        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()));
        }
Exemplo n.º 5
0
        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()));
        }