Exemple #1
0
 //
 public DBCondition(string i_ColName, FilterTypes i_FilterType, object i_Value, Bracket i_Bracket, FilterOperands i_FollowedOperand)
 {
     this._ColumnName      = i_ColName;
     this._FilterType      = i_FilterType;
     this._Value           = i_Value;
     this._Bracket         = i_Bracket;
     this._FollowedOperand = i_FollowedOperand;
     this._FilterCatalog   = GetFilterCatalog(i_FilterType);
     this._IgnoreCase      = true;
 }
        public static DBFilter ConvertToDBFilter(int i_FilterID, IDBManager i_DBManager)
        {
            DataTable m_FilterTable = GetFilterInfoTable(i_FilterID, i_DBManager);

            DBFilter m_DBFilter = new DBFilter();

            foreach (DataRow i_Row in m_FilterTable.Rows)
            {
                string m_OP = i_Row["Lable"].ToString();

                string m_Field = i_Row["FieldName"].ToString();

                FilterTypes m_FilterType = FilterTypes.StrEqual;

                object m_Value = i_Row["Value"];

                FilterOperands m_FilterOperand = FilterOperands.And;

                FilterCatalogs m_FilterCatalog = VictoryFilterHelper.GetCatalogFromFieldName(m_Field);

                switch (m_OP)
                {
                case "Any Entry":
                {
                    continue;
                }

                case "No Entry":
                {
                    return(null);
                }

                case "Equal":
                {
                    if (m_FilterCatalog == FilterCatalogs.Number)
                    {
                        m_FilterType = FilterTypes.NumEqual;
                    }
                    else
                    {
                        m_FilterType = FilterTypes.StrEqual;
                    }
                    break;
                }

                case "Greater Than":
                {
                    m_FilterType = FilterTypes.NumGreater;

                    break;
                }

                case "Less Than":
                {
                    m_FilterType = FilterTypes.NumLess;

                    break;
                }

                case "Starts With":
                {
                    m_FilterType = FilterTypes.StrStartWith;

                    break;
                }

                case "Ends With":
                {
                    m_FilterType = FilterTypes.StrEndWith;

                    break;
                }

                case "Includes":
                {
                    m_FilterType = FilterTypes.StrInclude;

                    break;
                }

                case "From To":
                {
                    m_FilterType = FilterTypes.NumLessOrEqual;

                    m_Value = i_Row["vMax"];

                    //"From To" convert to two conditions
                    DBCondition m_DBConditionAdd = new DBCondition(m_Field, FilterTypes.NumGreaterOrEqual, i_Row["vMin"], Bracket.NONE, m_FilterOperand);

                    m_DBFilter.Add(m_DBConditionAdd);

                    break;
                }

                case "Offense":
                case "Defense":
                case "Kick":
                case "Practice":
                case "1st Down":
                case "2nd Down":
                case "3rd Down":
                case "4th Down":
                case "Left":
                case "Right":
                case "Middle":
                case "Run":
                case "Pass":
                {
                    m_FilterType = FilterTypes.StrEqual;

                    m_Value = m_OP;

                    break;
                }

                case "0":
                case "1":
                case "2":
                case "3":
                case "4":
                case "5":
                case "6":
                case "7":
                case "8":
                case "9":
                case "10":
                {
                    m_FilterType = FilterTypes.NumEqual;

                    m_Value = m_OP;

                    break;
                }

                default:
                    continue;
                }
                //switch end
                DBCondition m_DBCondition = new DBCondition(m_Field, m_FilterType, m_Value, Bracket.NONE, m_FilterOperand);

                m_DBFilter.Add(m_DBCondition);
            }

            return(m_DBFilter);
        }