Exemplo n.º 1
0
        public async Task EnumConditionTest()
        {
            var expression = "$filter=MessagingAccountType ne 1";
            var runner     = new MongoDBQueryRunner <MessagingAccount>();
            var docQuery   = new ODataQueryParser <MessagingAccount>();
            var query      = docQuery.TryParse(expression);

            runner.Create(query);
            var collection = GetCollection <MessagingAccount>("messagingaccount");
            var list       = await runner.QueryAsync(collection);

            Assert.True(list.Count > 0);
        }
Exemplo n.º 2
0
        public async Task ComplexFilterTest()
        {
            var expression = "$filter=(CompanyGroup eq 'Synechron' and IsDeleted eq false) or NumberOfEmployees ge 1";
            //var expression = "startswith(Name,'Syne') eq true";
            var runner   = new MongoDBQueryRunner <Company>();
            var docQuery = new ODataQueryParser <Company>();
            var query    = docQuery.TryParse(expression);

            runner.Create(query);
            var collection = GetCollection <Company>("company");
            var list       = await runner.QueryAsync(collection);

            Assert.True(list.Count > 0);
        }
Exemplo n.º 3
0
        public async Task ContainsFilterTest()
        {
            var expression = "$filter=contains(Name,'Test')&$orderby=name desc";
            //var expression = "$filter=substringof('Test', Name)";
            //var expression = "startswith(Name,'Syne') eq true";
            var runner   = new MongoDBQueryRunner <MessagingAccount>();
            var docQuery = new ODataQueryParser <MessagingAccount>();
            var query    = docQuery.TryParse(expression);

            runner.Create(query);
            var collection = GetCollection <MessagingAccount>("messagingaccount");
            var list       = await runner.QueryAsync(collection);

            Assert.True(list.Count > 0);
        }
 public async Task <long> GetCountAsync(string oDataFilterQuery = null)
 {
     if (string.IsNullOrEmpty(oDataFilterQuery) || queryRunner == default(IMongoDBQueryRunner <TEntity>))
     {
         return(await documentStorageContext.GetCollection(Collection).CountAsync(Builders <TEntity> .Filter.Empty));
     }
     else
     {
         try
         {
             var queryRunner = new MongoDBQueryRunner <TEntity>();
             var docQuery    = new ODataQueryParser <TEntity>();
             var query       = docQuery.TryParse(oDataFilterQuery);
             queryRunner.Create(query);
             return(await documentStorageContext.GetCollection(Collection).CountAsync(queryRunner.FilterDefinition));
         }
         catch (Exception ex)
         {
             throw new DocumentQueryException(ex.Message, ex);
         }
     }
 }