예제 #1
0
        public override FilterDescriptorBase BuildDescriptor()
        {
            TextFilterDescriptor textDescriptor = new TextFilterDescriptor();

            textDescriptor.PropertyName = this.PropertyName;
            textDescriptor.Value        = this.textEntry.Text;
            textDescriptor.Operator     = (TextOperator)this.descriptorOperatorPicker.SelectedItem;

            return(textDescriptor);
        }
예제 #2
0
        /// <summary>
        /// Builds the <see cref="FilterDescriptorBase" /> that describes the user input within this instance.
        /// </summary>
        public override FilterDescriptorBase BuildDescriptor()
        {
            var descriptor = new TextFilterDescriptor();

            descriptor.PropertyName    = this.PropertyName;
            descriptor.Operator        = (TextOperator)this.OperatorCombo.SelectedIndex;
            descriptor.Value           = this.valueBox.Text;
            descriptor.IsCaseSensitive = this.IsCaseSensitive;

            return(descriptor);
        }
예제 #3
0
        public void Test_Operator_DoesNotEqualTo()
        {
            TextFilterDescriptor descriptor = new TextFilterDescriptor();

            descriptor.Operator     = TextOperator.DoesNotEqualTo;
            descriptor.Value        = "Sofia";
            descriptor.MemberAccess = new CityMemberAccess();

            var viewModel = new TestViewModel()
            {
                City = "Sofia", Name = "Tsvyatko"
            };

            Assert.IsFalse(descriptor.PassesFilter(viewModel));
        }
예제 #4
0
        private void SetFilter()
        {
            nameFilter = new TextFilterDescriptor()
            {
                PropertyName = "Naam", IsCaseSensitive = false, Operator = TextOperator.Contains
            };
            //emailFilter = new TextFilterDescriptor() { PropertyName = "Email", IsCaseSensitive = false, Operator = TextOperator.Contains };
            //addressFilter = new TextFilterDescriptor() { PropertyName = "Adres", IsCaseSensitive = false, Operator = TextOperator.Contains };
            //roleFilter = new TextFilterDescriptor() { PropertyName = "Rol", IsCaseSensitive = false, Operator = TextOperator.Contains };

            filters = new List <TextFilterDescriptor>()
            {
                nameFilter,
                //emailFilter,
                //addressFilter,
                //roleFilter
            };
        }
예제 #5
0
        public void Test_Operator_StartsWith()
        {
            TextFilterDescriptor descriptor = new TextFilterDescriptor();

            descriptor.Operator     = TextOperator.StartsWith;
            descriptor.Value        = "Sof";
            descriptor.MemberAccess = new CityMemberAccess();

            var viewModel = new TestViewModel()
            {
                City = "Sofia", Name = "Tsvyatko"
            };

            Assert.IsTrue(descriptor.PassesFilter(viewModel));

            descriptor.Value = "Soff";
            Assert.IsFalse(descriptor.PassesFilter(viewModel));
        }
예제 #6
0
        public void Test_Operator_EqualsTo()
        {
            TextFilterDescriptor descriptor = new TextFilterDescriptor();

            descriptor.Operator     = TextOperator.EqualsTo;
            descriptor.Value        = "Sofia";
            descriptor.MemberAccess = new CityMemberAccess();

            var viewModel = new TestViewModel()
            {
                City = "Sofia", Name = "Tsvyatko"
            };

            Assert.IsTrue(descriptor.PassesFilter(viewModel));

            // test case-sensitivity
            viewModel.City = "sofia";
            Assert.IsFalse(descriptor.PassesFilter(viewModel));

            descriptor.IsCaseSensitive = false;
            Assert.IsTrue(descriptor.PassesFilter(viewModel));
        }