public SectionFilter GetReportFilter(ScAFilter scFilter) { SectionFilter sectionFilter = new SectionFilter(); if (scFilter == null) { return(sectionFilter); //Modified at 2008-11-24 15:54:17@Scott } sectionFilter.FilterName = scFilter.Name; foreach (ScFilterElement element in scFilter.Elements) { Webb.Data.DBCondition condition = new Webb.Data.DBCondition(); condition.ColumnName = element.Field; condition.Value = element.Value; condition.FilterType = this.GetFilterOper(element.Oper); condition.FollowedOperand = this.GetFilterOpr(element.Opr); condition.IgnoreCase = true; sectionFilter.Filter.PlayAfter = scFilter.PlayAfter == 1; sectionFilter.Filter.Add(condition); } sectionFilter.Filter.IsCustomFilter = false; //2010-11-1 12:11:46@Simon Add this Code sectionFilter.Filter.Name = scFilter.Name; //2009-4-29 12:11:46@Simon Add this Code return(sectionFilter); }
public ScAFilter(ScAFilter scFilter) { this.Name = scFilter.Name; this.Elements = scFilter.Elements.Copy(); this.Types.Clear(); foreach (object type in scFilter.Types) { this.Types.Add(type); } }
public static SectionFilterCollection GetCustomFilters(ScFilterList scFilterList, SectionFilterCollection scFilters) { //2009-5-1 13:33:26@Simon Add this Code if (scFilters == null) { return(scFilters); } if (scFilterList == null || scFilterList.ScFilters.Count == 0) { return(scFilters); } AdvFilterConvertor convert = new AdvFilterConvertor(); SectionFilterCollection newscfFilters = new SectionFilterCollection(); foreach (SectionFilter scFilter in scFilters) { if (scFilter == null) { return(scFilters); } ScAFilter scAfilter = scFilterList.GetFilter(scFilter.FilterName); SectionFilter secFilter = new SectionFilter(); if (scAfilter != null && scFilter.Filter.Name != string.Empty) { if (!scFilter.Filter.IsCustomFilter) { secFilter = convert.GetReportFilter(scAfilter); } else { secFilter.Apply(scFilter); } } else { secFilter.Apply(scFilter); } newscfFilters.Add(secFilter); } return(newscfFilters); }
public static DBFilter GetAdvFilter(ScFilterList scFilterList, DBFilter Oldfilter) { AdvFilterConvertor convert = new AdvFilterConvertor(); if (Oldfilter == null || Oldfilter.Name == string.Empty) { return(Oldfilter); } if (scFilterList == null || scFilterList.ScFilters.Count == 0) { return(Oldfilter); } if (Oldfilter.IsCustomFilter) { return(convert.UpdateEffFilter(scFilterList, Oldfilter)); } ScAFilter scAfilter = scFilterList.GetFilter(Oldfilter.Name); if (scAfilter == null) { return(Oldfilter); } SectionFilter scFilter = convert.GetReportFilter(scAfilter); if (scFilter.Filter != null) { return(scFilter.Filter.Copy()); } return(Oldfilter); }
public bool ReadOldFiltersFromDisk(string strFileName) { bool bSuccess = true; if (!File.Exists(strFileName)) { return(false); } FileStream fs = File.Open(strFileName, FileMode.Open, FileAccess.Read, FileShare.Read); String str = string.Empty, dev = string.Empty; int len = 0, count = 0; char c = char.MinValue; //Opening bracket c = (char)fs.ReadByte(); if (c != '[') { bSuccess = false; goto EXIT; } //Read filer name - "ScfilterList" str = AdvFilterUtilities.ReadString(fs, false, false); if (string.Compare(AdvFilterUtilities.FilterName, str) != 0) { bSuccess = false; goto EXIT; } //Read version dev = AdvFilterUtilities.ReadString(fs, false, false); if (string.Compare(dev, AdvFilterUtilities.FilterRev02) < 0) { bSuccess = false; goto EXIT; } //Read filters ScAFilter aFilter = null; ScFilterElement anElement = null; count = AdvFilterUtilities.ReadShort(fs); for (int i = 0; i < count; i++) { aFilter = new ScAFilter(); aFilter.Name = AdvFilterUtilities.ReadString(fs, false, false); //filter name aFilter.ReportScType = fs.ReadByte(); //type //10--Efficiency fs.Position++; if (string.Compare(dev, AdvFilterUtilities.FilterRev03) < 0) //Scouting filter Ver.3 have play after feature { aFilter.PlayAfter = 0; } else { aFilter.PlayAfter = fs.ReadByte(); fs.Position++; } len = fs.ReadByte(); //count of elements fs.Position++; for (int j = 0; j < len; j++) { anElement = new ScFilterElement(); anElement.Type = fs.ReadByte(); //element's type fs.Position += 3; anElement.Field = AdvFilterUtilities.ReadString(fs, false, false); //element's field fs.Position += 2; anElement.Value = AdvFilterUtilities.ReadString(fs, false, false); //element's value anElement.Oper = fs.ReadByte(); //element's oper fs.Position++; anElement.Opr = fs.ReadByte(); //element's opr fs.Position++; aFilter.Elements.Add(anElement); } this.ScFilters.Add(aFilter); } EXIT: { fs.Close(); return(bSuccess); } }
public bool ReadFromDisk(string strFileName) { bool bSuccess = true; if (!File.Exists(strFileName)) { return(false); } FileStream fs = File.Open(strFileName, FileMode.Open, FileAccess.Read, FileShare.Read); String str = string.Empty; int len = 0, count = 0; //read version str = AdvFilterUtilities.ReadString(fs, true, true); if (String.Compare(str, AdvFilterUtilities.FilterRev01) > 0) //check filter list version { fs.Close(); bSuccess = false; goto EXIT; } // //read count of filters count = AdvFilterUtilities.ReadShort(fs); //read filters ScAFilter aFilter = null; ScFilterElement anElement = null; for (int i = 0; i < count; i++) { aFilter = new ScAFilter(); aFilter.Name = AdvFilterUtilities.ReadString(fs, true, true); len = AdvFilterUtilities.ReadInt32(fs); for (int j = 0; j < len; j++) { aFilter.Types.Add(AdvFilterUtilities.ReadString(fs, true, true)); } len = AdvFilterUtilities.ReadInt32(fs); for (int j = 0; j < len; j++) { anElement = new ScFilterElement(); anElement.Field = AdvFilterUtilities.ReadString(fs, true, true); anElement.Value = AdvFilterUtilities.ReadString(fs, true, true); anElement.Oper = AdvFilterUtilities.ReadInt32(fs); anElement.Opr = AdvFilterUtilities.ReadInt32(fs); aFilter.Elements.Add(anElement); } this.ScFilters.Add(aFilter); } EXIT: { fs.Close(); return(bSuccess); } }
public void Remove(ScAFilter i_Obj) { this.InnerList.Remove(i_Obj); }
public void Insert(int index, ScAFilter i_Object) { this.InnerList.Insert(index, i_Object); }
//Methods public int Add(ScAFilter i_Object) { return(this.InnerList.Add(i_Object)); }