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