Пример #1
0
        void testDeleteTag()
        {
            ITag tag = new UndoableTag("Flag", false);

              IFilter filterRed = new BasicFilter("Red Flag", tag, StringContaining.getInstance(), "red");
              IFilter filterYellow = new BasicFilter("Yellow Flag", tag, StringContaining.getInstance(), "yellow");
              IFilter filterRedOrYello = new CombinedFilter_OR("Red or Yellow", filterRed, filterYellow);

              Data.insertTag(tag);
              Data.insertFilter(filterRed);
              Data.insertFilter(filterYellow);
              Data.insertFilter(filterRedOrYello);

              int i = 0;
              foreach (IEmail email in Data.getEmailCollection())
              {
            string value = i % 2 == 0 ? "yellow" : "red";
            tag.tagEmail(email, value);
            i++;
            if (i == 10) break;
              }

              System.Windows.Forms.MessageBox.Show(Data.getFilterCollection().Count.ToString());
              Data.removeTag(tag);
              System.Windows.Forms.MessageBox.Show(Data.getFilterCollection().Count.ToString());
        }
Пример #2
0
        private static void InitData()
        {
            _Tags.Add(FromTag);
            _Tags.Add(ToTag);
            _Tags.Add(SubjectTag);
            _Tags.Add(SentDateTag);
            _Tags.Add(SignatureTag);

            for (int i = 0; i < 100; i++)
            {
                Email email = new Email(i);
                _Emails.Add(email);
                FromTag.tagEmail(email, "Sender " + i.ToString());
                ToTag.tagEmail(email, "Receiver " + (i % 5).ToString());
                SubjectTag.tagEmail(email, "Subject of email " + i.ToString()); //Hai fix
                SentDateTag.tagEmail(email, "2010-03-18 09:" + (i % 60).ToString().PadLeft(2, '0'));
            }

            //hai add default filter
            IFilter filterForm5 = new BasicFilter("From 5", FromTag, StringContaining.getInstance(), "5");
            IFilter filterTo2 = new BasicFilter("To 2", ToTag, StringContaining.getInstance(), "2");
            insertFilter(filterForm5);
            insertFilter(filterTo2);
            //_Filters.Add(filterForm5);
            //_Filters.Add(filterTo2);

            //default operators:

            _Operators.Add(StringContaining.getInstance());
            _Operators.Add(StringEquals.getInstance());
        }
Пример #3
0
        void demoTaoORFilterVaApplyFilter()
        {
            //lay tag
              IEnumerator<ITag> arrTag = Data.getTagCollection().GetEnumerator();
              arrTag.MoveNext();
              ITag fromTag = arrTag.Current;
              arrTag.MoveNext();
              ITag toTag = arrTag.Current;

              //tao operator
              IOperator strContainOper = StringContaining.getInstance();

              IFilter filterForm5 = new BasicFilter("From 5", fromTag, strContainOper, "5");
              IFilter filterTo2 = new BasicFilter("To 2", toTag, strContainOper, "2");
              AbstractFilter filterFrom5OrTo2 = new CombinedFilter_OR("From 5 or to 2", filterForm5, filterTo2);

              //thu apply cac filter cho email

              foreach (IEmail e in Data.getEmailCollection())
              {
            if (filterFrom5OrTo2.apply(e))
              MessageBox.Show("tim thay roi:" + fromTag.getEmailTag(e) + toTag.getEmailTag(e));
              }
        }
Пример #4
0
        private void save()
        {
            string resultMsg = "Filter haven't created";

              if (txtFilterName.Text == "")
              {
            MessageBox.Show("You must type filter name", "Warning");
              }
              else
              {
            if (editMode == EditModes.CreateNew) //save new filter
            {
              if (radioBasicFilter.Checked)
              {
            ITag selected_tag = ((TagBriefInfoForCmb)cmbTag.SelectedItem).getTag();
            IOperator selected_operator = ((OperationBriefInfo)cmbOperator.SelectedItem).getOperator();

            //create basic filter
            IFilter filter = new BasicFilter(txtFilterName.Text, selected_tag, selected_operator, txtValue.Text);
            Data.insertFilter(filter);
            resultMsg = "Created 1 basic filter";
              }
              else if (rbCombinedFilter.Checked)
              {
            resultMsg = "Created 1 combined filter";
            createCombinedFilter();
              }
              else if (rbNotFilter.Checked)
              {

            IFilter selected_filter1 = ((FilterBriefInfoForCmb)cmbFilterOfNotFilter.SelectedItem).getFilter();

            IFilter newFilter = new Filter_NOT(txtFilterName.Text, selected_filter1);
            Data.insertFilter(newFilter);
            resultMsg = "Created 1 NOT filter";

              }
            }
            else if (editMode == EditModes.EditOld) //save edited filter
            {
              if (rbNotFilter.Checked)
              {

            IFilter selected_filter1 = ((FilterBriefInfoForCmb)cmbFilterOfNotFilter.SelectedItem).getFilter();
            ((Filter_NOT)editedFilter).edit(selected_filter1);
            resultMsg = "Updated 1 NOT filter: " + editedFilter.Name;

              }
              else if (radioBasicFilter.Checked)
              {
            ITag selected_tag = ((TagBriefInfoForCmb)cmbTag.SelectedItem).getTag();
            IOperator selected_operator = ((OperationBriefInfo)cmbOperator.SelectedItem).getOperator();
            ((BasicFilter)editedFilter).edit(txtFilterName.Text, selected_tag, selected_operator, txtValue.Text);
            resultMsg = "Updated 1 Basic filter: " + editedFilter.Name;
              }
              else if (rbCombinedFilter.Checked)
              {
            Data.removeFilter(editedFilter);
            createCombinedFilter();
            resultMsg = "Updated 1 Combined filter: " + editedFilter.Name;
              }
            }
              }
              MessageBox.Show(resultMsg);
              updateScreen();
        }
Пример #5
0
        void demoTaoNotFilter()
        {
            //lay tag
              IEnumerator<ITag> arrTag = Data.getTagCollection().GetEnumerator();
              arrTag.MoveNext();
              ITag fromTag = arrTag.Current;

              //tao operator
              IOperator strContainOper = StringContaining.getInstance();

              AbstractFilter basicFilter = new BasicFilter("From 9", fromTag, strContainOper, "9");
              IFilter notFilter = new Filter_NOT("Not from 9", basicFilter);
              //thu apply cac filter cho email

              foreach (IEmail e in Data.getEmailCollection())
              {
            if (notFilter.apply(e))
              MessageBox.Show("tim thay roi:" + fromTag.getEmailTag(e));
              }
        }