コード例 #1
0
        //Scott@2007-11-21 09:54 modified some of the following code.
        public static string GetFiltersSQLCMD(Int32Collection i_cutups, IDBManager i_manager)
        {
            string m_result = String.Empty;

            if (i_cutups != null && i_cutups.Count > 0)
            {
                for (int i = 0; i < i_cutups.Count; i++)
                {
                    string m_tmp = VictoryFilterHelper.GetCutupFilter(i_cutups[i], i_manager);

                    if (m_tmp == "" || m_tmp == null)
                    {
                        m_tmp = "true";
                    }

                    m_result = string.Format("{0} {1} and ", m_result, m_tmp);
                }

                m_result = string.Format("{0} {1}", m_result, "true");
            }

            return(m_result);
        }
コード例 #2
0
        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);
        }