public void setTypeNparent(int tp, AdvancedFilter pa, int func_ind)
        {
            parent = pa;
            type   = tp;
            if (func_ind == 0)
            {
                include_all = true;
            }
            else
            {
                include_all = false;
            }
            switch (type)
            {
            case 1:    //project
                load_als_project();
                break;

            case 2:    //bedrijf
                bdr_nr_loc_adapt.Fill(bdr_nr_loc_dt);
                AdvFilterDataset.bedrijvenlijstDataTable bldt = parent.kies_bedrijvenlijst();
                AdvFilterDataset.bedrijvenlijstRow       blr  = (AdvFilterDataset.bedrijvenlijstRow)bldt.Rows[func_ind];
                load_als_bedrijf(blr);
                break;

            case 3:    //contact
                pers_nr_loc_adapt.Fill(pers_nr_loc_dt);
                AdvFilterDataset.personenlijstDataTable pldt = parent.kies_personenlijst();
                AdvFilterDataset.personenlijstRow       plr  = (AdvFilterDataset.personenlijstRow)pldt.Rows[func_ind];
                load_als_contact(plr);
                break;
            }
            init_all();
        }
Ejemplo n.º 2
0
        private void AdvancedQueryButton_Click(object sender, EventArgs e)
        {
            AdvancedFilter filterform = new AdvancedFilter();

            filterform.FormClosing += filterform_FormClosing;
            filterform.ShowDialog();
        }
Ejemplo n.º 3
0
        private void btnMissingResource_Click(object sender, EventArgs e)
        {
            // Filter the non-summary tasks and not milestone that're missing resource
            AdvancedFilter advancedFilter = new AdvancedFilter();

            ConditionTaskFilter summaryCondition = new ConditionTaskFilter();

            summaryCondition.FilterField  = FilterField.Summary;
            summaryCondition.TestOperator = TestOperators.Equal;
            summaryCondition.FilterValue  = false;
            advancedFilter.Conditions.Add(summaryCondition);

            ConditionTaskFilter milestoneCondition = new ConditionTaskFilter();

            milestoneCondition.FilterField  = FilterField.Milestone;
            milestoneCondition.TestOperator = TestOperators.Equal;
            milestoneCondition.FilterValue  = false;
            advancedFilter.Conditions.Add(milestoneCondition);

            ConditionTaskFilter resourceCondition = new ConditionTaskFilter();

            resourceCondition.FilterField  = FilterField.ResourceNames;
            resourceCondition.TestOperator = TestOperators.Equal;
            resourceCondition.FilterValue  = string.Empty;
            advancedFilter.Conditions.Add(resourceCondition);

            gv.ApplyFilter(advancedFilter);
        }
Ejemplo n.º 4
0
        private void btnPerformWithin_Click(object sender, EventArgs e)
        {
            AdvancedFilter filter = new AdvancedFilter();

            // Filter the tasks start from 2014/03/16...
            ConditionTaskFilter startCondition = new ConditionTaskFilter();

            startCondition.FilterField  = FilterField.Start;
            startCondition.TestOperator = TestOperators.IsGreaterThanOrEqualTo;
            startCondition.FilterValue  = new DateTime(2014, 3, 16);
            filter.Conditions.Add(startCondition);

            // ...finish before or at 2014/04/01...
            ConditionTaskFilter finishCondition = new ConditionTaskFilter();

            finishCondition.FilterField  = FilterField.Finish;
            finishCondition.TestOperator = TestOperators.IsLessThanOrEqualTo;
            finishCondition.FilterValue  = new DateTime(2014, 4, 1);
            filter.Conditions.Add(finishCondition);

            // ...and are not non-summary tasks.
            ConditionTaskFilter summaryCondition = new ConditionTaskFilter();

            summaryCondition.FilterField  = FilterField.Summary;
            summaryCondition.TestOperator = TestOperators.Equal;
            summaryCondition.FilterValue  = false;
            filter.Conditions.Add(summaryCondition);

            gv.ApplyFilter(filter);
        }
Ejemplo n.º 5
0
 private static void ValidateInclude <TEntity>(AdvancedFilter advancedFilter)
 {
     if (!string.IsNullOrWhiteSpace(advancedFilter.Include))
     {
         var propertyNames = advancedFilter.Include.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
         propertyNames = advancedFilter.PropertyMappings.MapProperties(propertyNames).ToArray();
         ValidateInclude <TEntity>(propertyNames);
     }
 }
Ejemplo n.º 6
0
        void filterform_FormClosing(object sender, FormClosingEventArgs e)
        {
            AdvancedFilter filterform = (AdvancedFilter)sender;

            foreach (IFilterQuery query in filterform.GetQueries())
            {
                AddFilterToFilterRules(query);
            }
            RefreshGridView();
        }
Ejemplo n.º 7
0
            public void FirstName()
            {
                // Arrange
                var view   = GetView(new[] { A_A, A_B, B_A, B_B });
                var filter = new AdvancedFilter(view);

                // Act/Assert
                filter.Filter(nameof(Data.FirstName), new[] { 'A' });
                AssertEquivalent(view, new[] { A_A, A_B });
            }
Ejemplo n.º 8
0
        /// <inheritdoc />
        public async Task <int> GetCountAsync(AdvancedFilter advancedFilter, Expression <Func <TEntity, bool> >?filter = null)
        {
            IQueryable <TEntity> query = DbSet;

            if (filter != null)
            {
                query = query.Where(filter);
            }

            return(await query.Filter(advancedFilter).CountAsync());
        }
Ejemplo n.º 9
0
        /// <inheritdoc />
        public int GetCount(AdvancedFilter advancedFilter, Expression <Func <TEntity, bool> >?filter = null)
        {
            IQueryable <TEntity> query = DbSet;

            if (filter != null)
            {
                query = query.Where(filter);
            }

            return(query.Filter(advancedFilter).Count());
        }
Ejemplo n.º 10
0
        private void btnMissNaming_Click(object sender, EventArgs e)
        {
            AdvancedFilter filter = new AdvancedFilter();

            ConditionTaskFilter condition = new ConditionTaskFilter();

            condition.FilterField  = FilterField.Name;
            condition.TestOperator = TestOperators.Equal;
            filter.Conditions.Add(condition);

            gv.ApplyFilter(filter);
        }
Ejemplo n.º 11
0
        private void btnHaveNotes_Click(object sender, EventArgs e)
        {
            AdvancedFilter filter = new AdvancedFilter();

            ConditionTaskFilter notesCondition = new ConditionTaskFilter();

            notesCondition.FilterField  = FilterField.Notes;
            notesCondition.TestOperator = TestOperators.DoesNotEqual;
            filter.Conditions.Add(notesCondition);

            gv.ApplyFilter(filter);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Applies the advanced filter to the queryable.
        /// </summary>
        /// <typeparam name="TEntity">The type of the entity.</typeparam>
        /// <param name="source">The queryable.</param>
        /// <param name="advancedFilter">The advanced filter.</param>
        /// <returns>A collection of entities.</returns>
        public static IQueryable <TEntity> Filter <TEntity>(
            this IQueryable <TEntity> source,
            AdvancedFilter advancedFilter)
            where TEntity : class, IDataEntity
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            else if (advancedFilter == null)
            {
                return(source);
            }

            ValidateOrderBy <TEntity>(advancedFilter);
            ValidateInclude <TEntity>(advancedFilter);

            // Include
            if (!string.IsNullOrWhiteSpace(advancedFilter.Include))
            {
                var paths = advancedFilter.Include.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                paths  = advancedFilter.PropertyMappings.MapProperties(paths).ToArray();
                source = source.Include(paths);
            }

            // Filter
            if (!string.IsNullOrEmpty(advancedFilter.Filter))
            {
                source = source.Filter(advancedFilter.Filter, advancedFilter.PropertyMappings);
            }

            // Order by
            if (!string.IsNullOrEmpty(advancedFilter.OrderBy))
            {
                var orderBy = advancedFilter.PropertyMappings.MapProperty(advancedFilter.OrderBy);
                source = source.OrderBy(orderBy, advancedFilter.SortOrder);
            }

            // Select
            if (!string.IsNullOrWhiteSpace(advancedFilter.Select))
            {
                var paths = advancedFilter.Select.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                paths = advancedFilter.PropertyMappings.MapProperties(paths).ToArray();
                string[] fields = GetEntityProperties <TEntity>(paths);
                source = source.Select(fields);
            }

            // Paging
            source = source.GetPage(advancedFilter.Page, advancedFilter.PageSize);

            return(source);
        }
Ejemplo n.º 13
0
        /// <inheritdoc />
        public virtual IEnumerable <TEntity> Find(
            AdvancedFilter advancedFilter,
            Expression <Func <TEntity, bool> >?filter = null)
        {
            IQueryable <TEntity> query = DbSet;

            // Filter
            if (filter != null)
            {
                query = query.Where(filter);
            }

            return(query.Filter(advancedFilter).ToList());
        }
Ejemplo n.º 14
0
        /// <inheritdoc />
        public virtual async Task <IEnumerable <TEntity> > FindAsync(
            AdvancedFilter advancedFilter,
            Expression <Func <TEntity, bool> >?filter = null)
        {
            IQueryable <TEntity> query = DbSet;

            // Filter
            if (filter != null)
            {
                query = query.Where(filter);
            }

            return(await query.Filter(advancedFilter).ToListAsync());
        }
        public void When_Find_is_called_then_fields_should_be_selected()
        {
            // Arrange
            var searchCriteria = new AdvancedFilter
            {
                Select = "Id,Name",
            };

            // Act
            var result = SystemUnderTest.Find(searchCriteria);

            // Assert
            result.Any(product => product.Id == 0).Should().BeFalse(because: "we selected the field Id and Name");
            result.Any(product => product.Name == null).Should().BeFalse(because: "we selected the field Id and Name");
            result.All(product => product.Category == null).Should().BeTrue(because: "we selected the field Id and Name and not Category");
        }
Ejemplo n.º 16
0
        private void btnCompletedByCarole_Click(object sender, EventArgs e)
        {
            AdvancedFilter advancedFilter = new AdvancedFilter();

            // Filter the tasks that those ResourceNames contain "Carole Poland"...
            ConditionTaskFilter resourceCondition = new ConditionTaskFilter();

            resourceCondition.FilterField  = FilterField.ResourceNames;
            resourceCondition.TestOperator = TestOperators.Contain;
            resourceCondition.FilterValue  = "Carole Poland";
            advancedFilter.Conditions.Add(resourceCondition);

            ConditionTaskFilter percentCompleteCondition = new ConditionTaskFilter();

            percentCompleteCondition.FilterField  = FilterField.PercentComplete;
            percentCompleteCondition.TestOperator = TestOperators.Equal;
            percentCompleteCondition.FilterValue  = 1.0;
            advancedFilter.Conditions.Add(percentCompleteCondition);

            gv.ApplyFilter(advancedFilter);
        }
        public List <StudentDetailsModel> FetchStudentdetailsV2(StudentFilterModel filter)
        {
            _context = new StudentdataContext();
            StudentFilterModel primaryFilter = new StudentFilterModel();
            var studentDetails = _context.sp_FetchStudentDetails(primaryFilter.StudentId, primaryFilter.EnrollmentId, primaryFilter.ServiceId).AsEnumerable();
            var advancedfilter = new AdvancedFilter();

            var spec1 = new StudentSpecification(filter.StudentId);
            var spec2 = new EnrollmentSpecification(filter.EnrollmentId);
            var spec3 = new ServiceSpecification(filter.ServiceId);
            //var result= advancedfilter.Filter(studentDetails, spec1);
            //result = advancedfilter.Filter(result, spec2);
            //result = advancedfilter.Filter(result, spec3);
            var result = advancedfilter.AdvancedFilterMethod(studentDetails, new List <ISpecification <sp_FetchStudentDetails_Result> > {
                spec1, spec2, spec3
            });

            if (result != null)
            {
                var output = result.Distinct().Select(student =>
                                                      new StudentDetailsModel
                {
                    Id = student.Id
                    ,
                    DateOfBirth = student.DateOfBirth
                    ,
                    EndDate = student.Enddate
                    ,
                    Startdate = student.StartDate
                    ,
                    EnrollmentYear = student.Enrollment
                    ,
                    FullName = student.FirstName + " " + student.LastName
                    ,
                    ServiceName = student.ServiceName
                }).ToList();
                return(output);
            }
            return(new List <StudentDetailsModel>());
        }
Ejemplo n.º 18
0
        IEnumerable <TViewModel> DoFilter(string input, bool order, bool advanced)
        {
            IEnumerable <TViewModel> results;

            if (string.IsNullOrEmpty(input))
            {
                results = Collection;
            }
            else
            {
                if (advanced)
                {
                    var terms = AdvancedFilter.Parse(input);
                    if (!terms.Any())
                    {
                        results = Collection;
                    }
                    else
                    {
                        var normal = terms.FirstOrDefault(p => p.Type == AdvancedFilterType.Normal);
                        var negate = terms.Where(p => p.Type == AdvancedFilterType.Negate);
                        results = Collection.Where(p =>
                                                   (normal == null || p.DomainObject.Name.ToLower().Contains(normal.Value.ToLower())) &&
                                                   negate.All(z => !p.DomainObject.Name.ToLower().Contains(z.Value.ToLower())));
                    }
                }
                else
                {
                    results = Collection.Where(p => p.DomainObject.Name.ToLower().Contains(input.ToLower()));
                }
            }

            if (order)
            {
                results = results.OrderBy(p => p.DomainObject.Name);
            }

            return(results);
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Creates search package for Advanced Search function
        /// </summary>
        /// <param name="dict"></param>
        /// <returns></returns>
        public static SearchPackage GetExportSearchPackage(Dictionary <string, string> dict, string sortColumn, string sortOrder)
        {
            SearchPackage searchPackage = new SearchPackage();

            searchPackage.SortSord   = sortOrder;
            searchPackage.SortColumn = sortColumn;
            searchPackage.PageIndex  = 1;
            searchPackage.RowCount   = 100000000;

            AdvancedFilter      advancedFilter = new AdvancedFilter();
            List <SingleFilter> lstfilters     = new List <SingleFilter>();
            SingleFilter        singleFilter;

            foreach (KeyValuePair <string, string> item in dict)
            {
                singleFilter = new SingleFilter(item.Key, ComparisonOperator.eq, item.Value);
                lstfilters.Add(singleFilter);
            }

            advancedFilter.Rules         = lstfilters.ToArray();
            searchPackage.AdvancedFilter = advancedFilter;
            return(searchPackage);
        }
Ejemplo n.º 20
0
        private void btnTobyOrToni_Click(object sender, EventArgs e)
        {
            AdvancedFilter advancedFilter = new AdvancedFilter();

            // Filter the tasks that those ResourceNames contain "Toby Nixon"...
            ConditionTaskFilter tobyCondition = new ConditionTaskFilter();

            tobyCondition.FilterField  = FilterField.ResourceNames;
            tobyCondition.TestOperator = TestOperators.Contain;
            tobyCondition.FilterValue  = "Toby Nixon";
            advancedFilter.Conditions.Add(tobyCondition);

            // ...and "Toni Poe".
            ConditionTaskFilter sharonCondition = new ConditionTaskFilter();

            // Using Or combination operator.
            sharonCondition.CombinationOperator = CombinationOperator.Or;
            sharonCondition.FilterField         = FilterField.ResourceNames;
            sharonCondition.TestOperator        = TestOperators.Contain;
            sharonCondition.FilterValue         = "Toni Poe";
            advancedFilter.Conditions.Add(sharonCondition);

            gv.ApplyFilter(advancedFilter);
        }
Ejemplo n.º 21
0
        private void btnFilter_Click(object sender, EventArgs e)
        {
            ArrayList      columns;
            AdvancedFilter filter = null;

            switch (typeOfData)
            {
            case EntityTypes.Client:
            {
                columns = new ArrayList
                {
                    new DBMap("name", "Name"),
                    new DBMap("phone_number", "Phone #"),
                    new DBMap("email_address", "Email"),
                    new DBMap("fax_number", "Fax #")
                };

                filter = new AdvancedFilter("Client", columns, "Find Clients", "", Icon.FromHandle(Resources.client_16x16.GetHicon()));
                break;
            }

            case EntityTypes.Realtor:
            {
                columns = new ArrayList
                {
                    new DBMap("name", "Name"),
                    new DBMap("company_name", "Company Name"),
                    new DBMap("phone_number", "Phone #"),
                    new DBMap("email_address", "Email"),
                    new DBMap("fax_number", "Fax #")
                };

                filter = new AdvancedFilter("Realtor", columns, "Find Realtors", "", Icon.FromHandle(Resources.realtor_16x16.GetHicon()));
                break;
            }

            case EntityTypes.TitleCompany:
            {
                columns = new ArrayList
                {
                    new DBMap("name", "Name"),
                    new DBMap("associate_name", "Associate's Name"),
                    new DBMap("associate_email", "Associate's Email"),
                    new DBMap("office_number", "Office #")
                };

                filter = new AdvancedFilter("TitleCompany", columns, "Find Title Companies", "", Icon.FromHandle(Resources.title_company_16x16.GetHicon()));
                break;
            }

            case EntityTypes.Rate:
            {
                columns = new ArrayList
                {
                    new DBMap("description", "Description"),
                    new DBMap("amount", "Amount"),
                    new DBMap("time_unit", "Time Unit")
                };

                filter = new AdvancedFilter("Rates", columns, "Find Rates");
                break;
            }

            case EntityTypes.Survey:
            {
                columns = new ArrayList
                {
                    new DBMap("job_number", "Job #"),
                    new DBMap("client_id", "Client ID"),
                    new DBMap("description", "Description"),
                    new DBMap("subdivision", "Subdivision"),
                    new DBMap("lot", "Lot #"),
                    new DBMap("block", "Block #"),
                    new DBMap("section", "Section #"),
                    new DBMap("county_id", "County"),
                    new DBMap("acres", "Acres"),
                    new DBMap("realtor_id", "Realtor ID"),
                    new DBMap("title_company_id", "Title Company ID")
                };     //TODO: combine all tables to search for surveys!

                filter = new AdvancedFilter("Survey", columns, "Find Surveys", "", Icon.FromHandle(Resources.surveying_16x16.GetHicon()));
                break;
            }
            }

            if (filter != null)
            {
                filter.FilterDone += ProcessSearch;
                filter.Show();
            }
        }