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()); }
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()); }
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)); } }
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(); }
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)); } }