示例#1
0
 public bool EqualCondition(DBCondition condition)
 {
     return(this._ColumnName == condition.ColumnName && this._FilterType == condition.FilterType &&
            this._Value == condition.Value && this._Bracket == condition.Bracket &&
            this._FollowedOperand == condition.FollowedOperand && this._FilterCatalog == condition.FilterCatalog &&
            this._IgnoreCase == condition.IgnoreCase);
 }
示例#2
0
        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);
        }
示例#3
0
        private DBFilter ModifyFilter(DBFilter lastFilter)            //2009-11-13 10:08:21@Simon Add this Code
        {
            if (lastFilter.Count <= 0)
            {
                return(lastFilter);
            }

            DBFilter newFilter = new DBFilter();

            if (lastFilter[0].Bracket == Bracket.Start)
            {
                DBCondition condition = new DBCondition();

                condition.ColumnName = string.Empty;

                condition.Bracket = Bracket.NONE;

                condition.FollowedOperand = FilterOperands.Or;

                newFilter.Add(condition);
            }

            foreach (DBCondition condition in lastFilter)
            {
                newFilter.Add(condition.Copy());
            }

            newFilter._PlayAfter = lastFilter._PlayAfter;

            newFilter._Name = lastFilter._Name;

            if (newFilter[lastFilter.Count - 1].Bracket == Bracket.End)
            {
                newFilter[newFilter.Count - 1].FollowedOperand = FilterOperands.Or;

                DBCondition condition = new DBCondition();

                condition.ColumnName = string.Empty;

                condition.Bracket = Bracket.NONE;

                condition.FollowedOperand = FilterOperands.And;

                newFilter.Add(condition);
            }
            else
            {
                newFilter[newFilter.Count - 1].FollowedOperand = FilterOperands.And;
            }

            if (newFilter.Count > 1)
            {
                newFilter[0].Bracket = Bracket.Start;

                newFilter[newFilter.Count - 1].Bracket = Bracket.End;
            }

            return(newFilter);
        }
示例#4
0
        public DBCondition Copy()
        {
            DBCondition m_Condition = new DBCondition();

            m_Condition._ColumnName      = this._ColumnName;
            m_Condition._FilterCatalog   = this._FilterCatalog;
            m_Condition._FilterType      = this._FilterType;
            m_Condition._Bracket         = this._Bracket;
            m_Condition._FollowedOperand = this._FollowedOperand;
            m_Condition._Value           = this._Value;
            m_Condition._IgnoreCase      = this._IgnoreCase;
            return(m_Condition);
        }
示例#5
0
        public DBFilter GetPassOffenseEffFilter(ScFilterList scFilterList)
        {
            DBFilter EffFilter = new DBFilter();

            foreach (ScAFilter scFilter in scFilterList.ScFilters)
            {
                if (scFilter.ReportScType != 20 || !(scFilter.Name.EndsWith("-PASSEFF-O")))
                {
                    continue;
                }

                for (int i = 0; i < scFilter.Elements.Count; i++)
                {
                    ScFilterElement element = scFilter.Elements[i];

                    Webb.Data.DBCondition condition = new Webb.Data.DBCondition();

                    condition.ColumnName = element.Field;

                    condition.Value = element.Value;

                    condition.FilterType = GetFilterOper(element.Oper);

                    condition.FollowedOperand = this.GetFilterOpr(element.Opr);

                    if (i == scFilter.Elements.Count - 1)
                    {
                        condition.FollowedOperand = FilterOperands.Or;
                    }

                    condition.IgnoreCase = true;

                    EffFilter.Add(condition);
                }

                EffFilter.PlayAfter = scFilter.PlayAfter == 1;
            }

            EffFilter.IsCustomFilter = true;   //2010-11-1 12:11:46@Simon Add this Code

            EffFilter.Name = "PassOffenseEFF"; //2009-4-29 12:11:46@Simon Add this Code

            return(EffFilter);
        }
示例#6
0
 public void Remove(DBCondition i_Obj)
 {
     this.InnerList.Remove(i_Obj);
 }
示例#7
0
        //ctor
        //Methods

        #region Add/remove filter
        public int Add(DBCondition i_Object)
        {
            return(this.InnerList.Add(i_Object));
        }