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);
        }
Beispiel #2
0
        private void CreateCriterionMatrix(object sender, EventArgs e)
        {
            CriterionMatrixs.Children.Clear();

            if (Criterions.Count == 0)
            {
                return;
            }

            var tmp = new ObservableCollection <DoubleContainer>();

            Criterions.ToList().ForEach(x => tmp.Add(new DoubleContainer()
            {
                Value = 1
            }));
            CriterionRatios = tmp;

            DataGrid dataGrid = GetDG();

            dataGrid.ItemsSource = CriterionRatios;

            dataGrid.LoadingRow           += DataGrid_LoadingRow1;
            dataGrid.AutoGeneratingColumn += DataGrid_AutoGeneratingColumn1;
            CriterionMatrixs.Children.Add(dataGrid);
        }
Beispiel #3
0
        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()));
        }
Beispiel #4
0
        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);
        }
        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 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 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 In_criterion_query()
        {
            var criterion = Criterions.Field <Person, int>(x => x.Age, Criterions.In(36, 52));

            var builder = new QueryBuilder(criterion);

            AssertFoundNavalny(builder);
        }
Beispiel #9
0
        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 Match_criterion_query()
        {
            var criterion = Criterions.Equals("Alexey");

            var builder = new QueryBuilder(Criterions.Field <Person, string>(x => x.Name.Firstname, criterion));

            AssertFoundNavalny(builder);
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        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 Between_query()
        {
            var criterion = Criterions.Between(30, 40);

            var builder = new QueryBuilder(Criterions.Field <Person, int>(x => x.Age, criterion));

            AssertFoundNavalny(builder);
        }
Beispiel #14
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var criterions      = Criterions.Select(x => x.Value).ToList();
            var objects         = Objects.Select(x => x.Value).ToList();
            var objectRatios    = ObjectRatios.Select(x => x.Select(y => y.Value).ToList()).ToList();
            var criterionRatios = CriterionRatios.Select(x => x.Value).ToList();

            new ResultWindow(criterions, objects, objectRatios, criterionRatios, IsEquilibriumCheckBox.IsChecked ?? true).Show();
        }
Beispiel #15
0
 private void CleanCriterions()
 {
     for (int i = 0; i < Criterions.Count; i++)
     {
         if (String.IsNullOrWhiteSpace(Criterions[i].Name))
         {
             Criterions.Remove(Criterions[i]);
         }
     }
 }
Beispiel #16
0
        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);
        }
Beispiel #18
0
 public ServicesDecisionHendler(MusicalShopIdentityDbContext ctx)
 {
     _ctx = ctx;
     foreach (var enumcrit in Enum.GetValues(typeof(CriterionsEnum)))
     {
         Criterions.Add(new Criterion()
         {
             Name = enumcrit.ToString(), IsMax = (int)enumcrit > 0 ? true : false, Id = (int)enumcrit
         });
     }
 }
        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);
        }
Beispiel #20
0
        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 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 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);
        }
Beispiel #24
0
        public virtual IQuery Add(ICriterion criterion)
        {
            if (criterion != null)
            {
                if (!CheckValidCriterion(EntityDefinition, criterion.PropertyName))
                {
                    throw new QueryException(this, $"Unable to filter by {criterion.PropertyName} because {criterion.PropertyName} is not a valid property of {EntityDefinition} or it includes a relation.");
                }

                criterion.PropertyName = criterion.PropertyName;
                Criterions.Add(criterion);
            }
            return(this);
        }
        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));
        }
        /// <inheritdoc />
        public virtual TQuery Where(params ICriterion[] criterions)
        {
            if (criterions == null)
            {
                throw new ArgumentNullException("criterions");
            }

            foreach (ICriterion criterion in criterions.Where(x => x != null))
            {
                Criterions.Add(criterion);
            }

            return(Query);
        }
        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));
        }
Beispiel #29
0
 private void DataGrid_AutoGeneratingColumn1(object sender, DataGridAutoGeneratingColumnEventArgs e)
 {
     e.Column.Header = Criterions?.FirstOrDefault()?.Value;
 }
 public IAuditQuery Add(IAuditCriterion criterion)
 {
     Criterions.Add(criterion);
     return(this);
 }