Пример #1
0
 public SearchParameterVM()
 {
     _keyword     = "";
     _type        = GirlInfoEnum.Types.NotCare;
     _nationality = GirlInfoEnum.Nationalities.NotCare;
     _rare        = 0;
 }
Пример #2
0
        public List <GirlInfo> SearchData(String keyword, GirlInfoEnum.Types type, GirlInfoEnum.Nationalities nationality, int rare)
        {
            List <GirlInfo> ret       = new List <GirlInfo>();
            String          condition = "";

            if (keyword != "")
            {
                condition += "( ";
                condition += COLUMN_NAME_NAMES_JPN + String.Format(" LIKE '%{0}%' OR ", keyword);
                condition += COLUMN_NAME_NAMES_CHT + String.Format(" LIKE '%{0}%' OR ", keyword);
                condition += COLUMN_NAME_NAMES_CHS + String.Format(" LIKE '%{0}%' OR ", keyword);
                condition += COLUMN_NAME_NAMES_ENU + String.Format(" LIKE '%{0}%' OR ", keyword);
                condition += COLUMN_NAME_NOTE + String.Format(" LIKE '%{0}%'", keyword);
                condition += " )";
            }

            if (type != GirlInfoEnum.Types.NotCare)
            {
                int itype = (int)type;
                if (condition != "")
                {
                    condition += " AND ";
                }
                condition += String.Format("{0} == {1}", COLUMN_NAME_TYPE, itype);
            }

            if (nationality != GirlInfoEnum.Nationalities.NotCare)
            {
                int inational = (int)nationality;
                if (condition != "")
                {
                    condition += " AND ";
                }
                condition += String.Format("{0} == {1}", COLUMN_NAME_NATIONALITY, inational);
            }

            if (rare > 0)
            {
                if (condition != "")
                {
                    condition += " AND ";
                }
                condition += String.Format("{0} == {1}", COLUMN_NAME_RARE, rare);
            }

            if (condition != "")
            {
                condition = " WHERE " + condition;
            }

            String cmdText = "SELECT * FROM " + TABLE_NAME_BASIC_INFO + condition;

            using (SQLiteCommand cmd = new SQLiteCommand(cmdText, _dbConnection))
            {
                try
                {
                    SQLiteDataReader rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        GirlInfo info = ParseData(rdr);
                        ret.Add(info);
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine($"[SQLiteCtrl] SearchData error:{e.Message}");
                }
            }
            return(ret);
        }