private bool isSongSkill() { if (songSkillTable == null) { songSkillTable = db.SelectUserSkills(User_email, "user_songs_skills"); if (songSkillTable != null) { return(true); } return(false); } else { return(true); } }
private Album BuildQuestionByArtistSkills() { Album album = null; List <string>[] answer = null; answer = db.SelectUserSkills(this.User_email, "user_artists_skills", false); List <string> subList = getSubListSkillsByLevel(answer[0]); foreach (string artist in subList) { //string artist = (string)o_artist; this.albumForQuestion = db.GetRandAlbumOfArtist(artist); if (album != null) { return(album); } } return(null); }
//Returning a skill property with regard to the current level. public string getSkill(string skillName) { int numOfRows = 0; string table_name; List <string>[] answer = null; switch (skillName) { //string query; case "artist": table_name = "user_artists_skills"; answer = db.SelectUserSkills(this.User_email, table_name, false); break; case "song": table_name = "user_songs_skills"; answer = db.SelectUserSkills(this.User_email, table_name, false); break; case "year": table_name = "user_years_skills"; answer = db.SelectUserSkills(this.User_email, table_name, false); break; case "location": table_name = "user_locations_skills"; answer = db.SelectUserSkills(this.User_email, table_name, false); break; } if (answer == null) { return(null); } numOfRows = answer[0].Count; //if less than 10 rows, it's not enough for relate it as a skill. if (numOfRows < 10) { return(null); } Random rnd = new Random(); int choose = 0; switch (this.Level) { case 1: choose = rnd.Next(0, (numOfRows / 3) + 1); break; case 2: choose = rnd.Next((numOfRows / 3), ((numOfRows / 3) * 2) + 1); break; case 3: choose = rnd.Next((numOfRows / 3) * 2, numOfRows); break; } if (numOfRows == 1) { choose = 0; } return(answer[0].ElementAt(choose)); }