public static bool GetSingerTypeDT() { string jsonText = ""; List <string> SingerTypeList = new List <string>() { "0", "1", "2", "4", "5", "6", "7" }; List <string> ImgFormatList = new List <string>() { ".jpg", ".png", ".bmp", ".gif" }; GuiGlobal.SingerName = new List <string>(); GuiGlobal.SingerType = new List <string>(); foreach (string SingerType in SingerTypeList) { jsonText = CrazyKTVWCF.QuerySinger("Singer_Type=" + SingerType, 0, GuiGlobal.QuerySongRows, "Singer_Strokes, Singer_Name"); DataTable dt = new DataTable(); dt = GlobalFunctions.JsontoDataTable(jsonText); if (dt == null) { return(false); } dt.Columns.Add("ImgFileUrl"); foreach (DataRow row in dt.AsEnumerable()) { GuiGlobal.SingerName.Add(row["Singer_Name"].ToString()); GuiGlobal.SingerType.Add(SingerTypeList.IndexOf(SingerType).ToString()); foreach (string ImgFormat in ImgFormatList) { if (File.Exists(HttpContext.Current.Server.MapPath("/singerimg/" + row["Singer_Name"].ToString() + ImgFormat))) { row["ImgFileUrl"] = "/singerimg/" + row["Singer_Name"].ToString() + ImgFormat; break; } } if (row["ImgFileUrl"].ToString() == "") { row["ImgFileUrl"] = "/images/singertype_default.png"; } } switch (SingerTypeList.IndexOf(SingerType)) { case 0: GuiGlobal.SingerTypeMaleDT = dt; break; case 1: GuiGlobal.SingerTypeFemaleDT = dt; break; case 2: GuiGlobal.SingerTypeGroupDT = dt; break; case 3: GuiGlobal.SingerTypeForeignMale = dt; break; case 4: GuiGlobal.SingerTypeForeignFemale = dt; break; case 5: GuiGlobal.SingerTypeForeignGroup = dt; break; case 6: GuiGlobal.SingerTypeOther = dt; break; } } return(true); }
private void songList(int page, int rows) { findCaller.Value = "toTop"; //pre-set hideAllGridViewPanel(); Panel2.Visible = true; int currentPageNumber = page; int rowsPerPage = rows; try { string jsonText = ""; gvMode.Value = ""; if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Song".ToLower()) { jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_SongName like '%" + tSearch.Text.ToString().Trim() + "%'", currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName"); //more than 2000 per rows will be super slow } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Singer".ToLower()) { jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_Singer like '%" + tSearch.Text.ToString().Trim() + "%'", page, rows, "Song_Singer, Song_WordCount,Song_SongStroke, Song_SongName"); //more than 2000 per rows will be super slow } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "NewSongs".ToLower()) { tSearch.Text = ""; jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_CreatDate >= '" + DateTime.Now.AddDays(-120).ToString("yyyy/MM/dd") + "'", currentPageNumber, rowsPerPage, "Song_CreatDate desc, Song_SongName"); //more than 2000 per rows will be super slow } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "male".ToLower()) { hideAllGridViewPanel(); Panel4.Visible = true; tSearch.Text = ""; jsonText = CrazyKTVWCF.QuerySinger("Singer_Type=0", 0, 2000, "Singer_Strokes, Singer_Name"); DataTable dt3 = GlobalFunctions.JsontoDataTable(jsonText); DataView dv3 = new DataView(dt3); //dv.Sort = "Song_Singer asc, Song_SongName asc, Song_Id asc"; GridView3.DataSource = dv3; GridView3.DataBind(); //ddSearchType.SelectedIndex = 1; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "female".ToLower()) { hideAllGridViewPanel(); Panel4.Visible = true; tSearch.Text = ""; jsonText = CrazyKTVWCF.QuerySinger("Singer_Type=1", 0, 2000, "Singer_Strokes, Singer_Name"); DataTable dt3 = GlobalFunctions.JsontoDataTable(jsonText); DataView dv3 = new DataView(dt3); //dv.Sort = "Song_Singer asc, Song_SongName asc, Song_Id asc"; GridView3.DataSource = dv3; GridView3.DataBind(); //ddSearchType.SelectedIndex = 1; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Group".ToLower()) { hideAllGridViewPanel(); Panel4.Visible = true; tSearch.Text = ""; jsonText = CrazyKTVWCF.QuerySinger("Singer_Type=2", 0, 2000, "Singer_Strokes, Singer_Name"); DataTable dt3 = GlobalFunctions.JsontoDataTable(jsonText); DataView dv3 = new DataView(dt3); //dv.Sort = "Song_Singer asc, Song_SongName asc, Song_Id asc"; GridView3.DataSource = dv3; GridView3.DataBind(); //ddSearchType.SelectedIndex = 1; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "chorus".ToLower()) { jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_SingerType=3", currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke, Song_SongName, Song_Singer, Song_CreatDate desc"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "wordcount".ToLower()) { if (tSearch.Text.ToString().Trim().Length > 0) { jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_WordCount=" + tSearch.Text.ToString().Trim(), currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName,Song_CreatDate desc"); //more than 2000 per rows will be super slow } else { jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_Singer like '%'", currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName,Song_CreatDate desc"); //more than 2000 per rows will be super slow } } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "toporder".ToLower()) { jsonText = CrazyKTVWCF.QuerySong(null, null, null, "Song_PlayCount >= 1 ", currentPageNumber, rowsPerPage, "Song_PlayCount desc, Song_CreatDate desc, Song_SongStroke, Song_SongName"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Mandarin".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("國語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount, Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Taiwanese".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("台語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Cantonese".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("粵語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Japanese".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("日語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "English".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("英語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Haka".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("客語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Local".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("原住民語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Korean".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("韓語", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Kid".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("兒歌", null, null, null, currentPageNumber, rowsPerPage, "Song_WordCount,Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "OtherLangs".ToLower()) { jsonText = CrazyKTVWCF.QuerySong("其它", null, null, null, currentPageNumber, rowsPerPage, "Song_SongStroke,Song_SongName, Song_Singer"); //more than 2000 per rows will be super slow tSearch.Text = ""; } else if (ddSearchType.SelectedValue.ToString().Trim().ToLower() == "Favorites".ToLower()) { tSearch.Text = ""; hideAllGridViewPanel(); Panel3.Visible = true; jsonText = CrazyKTVWCF.FavoriteUser(0, 200); DataTable dt2 = GlobalFunctions.JsontoDataTable(jsonText); DataView dv2 = new DataView(dt2); //dv.Sort = "Song_Singer asc, Song_SongName asc, Song_Id asc"; GridView2.DataSource = dv2; GridView2.DataBind(); } //jsonText = jsonText.TrimStart('"'); //jsonText = jsonText.TrimEnd('"'); //jsonText = Regex.Replace(jsonText, @"\\""", @""""); try { DataTable dt = GlobalFunctions.JsontoDataTable(jsonText); DataView dv = new DataView(dt); //dv.Sort = "Song_Singer asc, Song_SongName asc, Song_Id asc"; GridView1.DataSource = dv; GridView1.DataBind(); if (dv.Count == rows) { BNext.Visible = true; if (page > 0) { BPrevious.Visible = true; } else { BPrevious.Visible = false; } } else { BNext.Visible = false; if (page > 0) { BPrevious.Visible = true; } else { BPrevious.Visible = false; } } } catch { } } catch { } // GlobalFunctions.DerializetoDataTable(); //test data }