public void Negate_criterion_query() { var criterion = Criterions.Not(Criterions.Equals("Alexey")); var builder = new QueryBuilder(Criterions.Field <Person, string>(x => x.Name.Firstname, criterion)); AssertFoundPutin(builder); }
public void Starts_with_criterion_query() { var criterion = Criterions.StartsWith("Ale"); var builder = new QueryBuilder(Criterions.Field <Person, string>(x => x.Name.Firstname, criterion)); AssertFoundNavalny(builder); }
private JsonResponse CheckLogin() { if (Request.Query.ContainsKey("Login")) { return(new JsonResponse(true, new DefaultJsonSerializer())); } string login = Request.Query.Login; var byName = Criterions.Field <User, string>(x => x.Login, Criterions.Equals(login)); var builder = new QueryBuilder(byName); using (var query = _users.CreateQuery <User>(builder)) using (var cursor = query.Execute(QueryMode.Count)) { if (cursor.Count > 0) { var message = string.Format("Login '{0}' already exists", login); return(new JsonResponse(message, new DefaultJsonSerializer())); } } return(new JsonResponse(true, new DefaultJsonSerializer())); }
public void Greater_than_query() { var criterion = Criterions.GreaterThan(40); var builder = new QueryBuilder(Criterions.Field <Person, int>(x => x.Age, criterion)); AssertFoundPutin(builder); }
public void String_all_query() { var criterion = Criterions.All("Patriotic", "speech"); var builder = new QueryBuilder(Criterions.Field <Person, string[]>(x => x.Hobbies, criterion)); AssertFoundPutin(builder); }
public void Lower_than_or_equal_query() { var criterion = Criterions.LowerThanOrEqual(36); var builder = new QueryBuilder(Criterions.Field <Person, int>(x => x.Age, criterion)); AssertFoundNavalny(builder); }
public void String_any_with_ignore_case_query() { var criterion = Criterions.IgnoreCase(Criterions.Any("patriotic")); var builder = new QueryBuilder(Criterions.Field <Person, string[]>(x => x.Hobbies, criterion)); AssertFoundPutin(builder); }
public void In_criterion_query() { var criterion = Criterions.Field <Person, int>(x => x.Age, Criterions.In(36, 52)); var builder = new QueryBuilder(criterion); AssertFoundNavalny(builder); }
public void String_ignore_case_query() { var criterion = Criterions.IgnoreCase(Criterions.Any("PUTIN")); var builder = new QueryBuilder(Criterions.Field <Person, string>(x => x.Name.Surname, criterion)); AssertFoundPutin(builder); }
public void Between_query() { var criterion = Criterions.Between(30, 40); var builder = new QueryBuilder(Criterions.Field <Person, int>(x => x.Age, criterion)); AssertFoundNavalny(builder); }
public void Not_in_criterion_query() { var criterion = Criterions.Field <Person, int>(x => x.Age, Criterions.NotIn(36, 52)); var builder = new QueryBuilder(criterion); AssertFoundPutin(builder); }
public void Match_criterion_query() { var criterion = Criterions.Equals("Alexey"); var builder = new QueryBuilder(Criterions.Field <Person, string>(x => x.Name.Firstname, criterion)); AssertFoundNavalny(builder); }
private static User GetExistingUser(Collection users, string username) { var byLogin = Criterions.Field <User, string>(x => x.Login, Criterions.Equals(username)); var queryBuilder = new QueryBuilder(byLogin); using (var query = users.CreateQuery <User>(queryBuilder)) using (var cursor = query.Execute()) { return(cursor.Count != 0 ? cursor[0] : null); } }
public void Or_criterion_query() { var byName = Criterions.Field <Person, string>(x => x.Name.Firstname, Criterions.Equals("Alexey")); var byAge = Criterions.Field <Person, int>(x => x.Age, Criterions.Equals(61)); var criterion = Criterions.Or(byName, byAge); var builder = new QueryBuilder(criterion); AssertFoundBoth(builder); }
public void And_criterion_query() { var byName = Criterions.Field <Person, string>(x => x.Name.Firstname, Criterions.Equals("Alexey")); var byAge = Criterions.Field <Person, int>(x => x.Age, Criterions.Equals(36)); var andCritertion = Criterions.And(byName, byAge); var builder = new QueryBuilder(andCritertion); AssertFoundNavalny(builder); }
private static bool ThereIsNoDomainUsers(Collection users) { var byDomain = Criterions.Field <User, bool>(x => x.IsDomain, Criterions.Equals(true)); var queryBuilder = new QueryBuilder(byDomain); using (var query = users.CreateQuery <User>(queryBuilder)) using (var cursor = query.Execute(QueryMode.Count)) { return(cursor.Count == 0); } }
public void Element_match_criterion_simple_array_query() { var criterion = Criterions.Field <Person, string[]>( x => x.Hobbies, Criterions.MatchElement( Criterions.Equals("Power"))); var builder = new QueryBuilder(criterion); AssertFoundPutin(builder); }
public void Not_exists_criterion_query() { var criterion = Criterions.FieldNotExists(); var builder = new QueryBuilder(Criterions.Field <Person, string>(x => x.Name.Firstname, criterion)); using (var query = Collection.CreateQuery <Person>(builder)) using (var cursor = query.Execute(QueryMode.Explain)) { Console.WriteLine(cursor.GetLog()); Assert.That(cursor.Count, Is.EqualTo(0)); } }
public DeleteFeedResponse Handle(DeleteFeedRequest message) { var criterion = Criterions.Field(nameof(Domain.Deployment.FeedId), Criterions.Equals(message.Id)); var builder = new QueryBuilder(criterion); var feedInUse = _repository.Deployments.PerformQuery <Domain.Deployment>(builder).Length > 0; if (feedInUse) { return(new DeleteFeedResponse("Feed use. Remove it from deployments to delete")); } _repository.Feeds.Delete(message.Id); return(new DeleteFeedResponse(null)); }
public void Element_match_criterion_complex_property_query() { var criterion = Criterions.Field <Person, Name>( x => x.Name, Criterions.MatchElement( Criterions.Object( Criterions.Field <Name, string>(x => x.Firstname, Criterions.Equals("Vladimir")), Criterions.Field <Name, string>(x => x.Surname, Criterions.Equals("Putin"))) )); var builder = new QueryBuilder(criterion); AssertFoundPutin(builder); }
public void Complex_criterion_combination_query() { var byName = Criterions.Field <Person, string>(x => x.Name.Firstname, Criterions.Equals("Alexey")); var byAge = Criterions.Field <Person, int>(x => x.Age, Criterions.Equals(36)); var andCriterion = Criterions.And(byName, byAge); var ignoreCaseHobby = Criterions.IgnoreCase(Criterions.Any("corruption")); var byHobbies = Criterions.Field <Person, string[]>(x => x.Hobbies, ignoreCaseHobby); var criterion = Criterions.Or(andCriterion, byHobbies); var builder = new QueryBuilder(criterion); AssertFoundBoth(builder); }
public HomepageModelResponse Handle(HomepageModelRequest message) { var notifications = _repository.Notifications; var now = DateTime.UtcNow; var thirtyDaysAgo = now.AddDays(-30); var greaterThan = Criterions.GreaterThanOrEqual(thirtyDaysAgo); var criterion = Criterions.Field(nameof(Notification.CreatedAt), greaterThan); var builder = new QueryBuilder(criterion); var last30Days = notifications .PerformQuery <Notification>(builder) .ToList(); //Sort in descending order last30Days.Sort((x, y) => y.CreatedAt.CompareTo(x.CreatedAt)); var model = new HomepageModel(last30Days); return(new HomepageModelResponse(model)); }