public SearchParameterVM() { _keyword = ""; _type = GirlInfoEnum.Types.NotCare; _nationality = GirlInfoEnum.Nationalities.NotCare; _rare = 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); }