using Business.TK; using Common; using M55128_rec.Models.ViewModels.GallerMangerModel; using M55128_rec.Util; using Models; using Models.Entity.LottomatBaseDB; using Models.Views; using Services; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Web; namespace M55128_rec.Business.TK { public static class TKApiBLL { static TKApiBLL() { // log = new LogHelper(); } public static List QueryAll(int page, int rows, Dictionary queryjson, out int totalrows, out int totalpage, int periodsNumber) { totalrows = 0; List rtdata = new List(); totalpage = 0; try { List list = Tk_GalleryBLL.GetPageList(page, rows, queryjson, out totalrows, "GalleryNumber").ToList(); List gallid = list.Select(s => s.ID).ToList(); List qDetailList = new List(); if (periodsNumber == 0) { periodsNumber = DateHelper.getTimeSpan(); } if (gallid.Count > 0) { qDetailList = Tk_GalleryDetailBLL.QueryDetailByGalleryId(gallid, periodsNumber); } totalpage = totalrows % rows > 0 ? totalrows / rows + 1 : totalrows / rows; string[] aryname = new string[] { "A", "B", "C" }; for (int i = 0; i < aryname.Length; i++) { List tlist = new List(); IEnumerator tmp = list.Where(t => t.AreaCode == aryname[i]).GetEnumerator(); while (tmp.MoveNext()) { ImageMenuInfoModel tmpImg = new ImageMenuInfoModel() { GalleryNumStr = tmp.Current.AreaCode + GetGallerNum(tmp.Current.GalleryNumber), AreaCode = tmp.Current.AreaCode, CreateTime = tmp.Current.CreateTime.ToString(), GalleryName = tmp.Current.GalleryName, GalleryNumber = tmp.Current.GalleryNumber, HotNumber = int.Parse(tmp.Current.HotNumber), ID = tmp.Current.ID, Reamrk = tmp.Current.Reamrk, HasImage = 0 }; List qtmp = qDetailList.Where(w => w.GalleryId == tmpImg.ID && w.PeriodsNumber == periodsNumber).ToList(); if (qtmp.Count > 0) { tmpImg.ImageUrl = qtmp[0].ImageUrl; tmpImg.HasImage = 1; tmpImg.PK = qtmp[0].PK.ToString(); } tlist.Add(tmpImg); } tlist = tlist.OrderBy(s => s.GalleryNumber).ToList();//升序排序 rtdata.Add(new QueryAllDataModel() { AreaName = aryname[i], list = tlist, PeriodsNumber = periodsNumber }); } } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "QueryAll"); } return rtdata; } public static string GetGallerNum(int num) { if (num.ToString().Length < 2) { return "0" + num.ToString(); } else { return num.ToString(); } } public static List QueryHotMenu(List areacode) { List rtdata = new List(); try { IEnumerator enumerator = DataItemBLL.GetDataItemList(areacode).GetEnumerator(); while (enumerator.MoveNext()) { HotMenuModel tmp = new HotMenuModel() { EnCode = enumerator.Current.EnCode, SimpleSpelling = enumerator.Current.SimpleSpelling, SortCode = enumerator.Current.SortCode.Value, ID = enumerator.Current.ItemDetailId, ItemName = enumerator.Current.ItemName, ItemValue = enumerator.Current.ItemValue, }; rtdata.Add(tmp); } } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "QueryHotMenu"); } //rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序 return rtdata; } public static List QueryHotArtList(int page, int rows, string menuname, out int totalrows, out int totalpage, int periodsNumber) { List rtdata = new List(); totalrows = 0; totalpage = 0; try { Dictionary dict = new Dictionary(); dict["SeoKey"] = menuname; List list = Tk_GalleryBLL.GetPageList(page, rows, dict, out totalrows, "GalleryNumber", false).ToList(); totalpage = totalrows % rows > 0 ? totalrows / rows + 1 : totalrows / rows; List gallid = list.Select(s => s.ID).ToList(); List qDetailList = new List(); if (periodsNumber == 0) { periodsNumber = Tk_GalleryBLL.NewPeriodsNumber(); } if (gallid.Count > 0) { qDetailList = Tk_GalleryDetailBLL.QueryDetailByGalleryId(gallid, periodsNumber); } List tplist = new List(); IEnumerator enumerator = list.GetEnumerator(); while (enumerator.MoveNext()) { ImageMenuInfoModel tmp = new ImageMenuInfoModel() { GalleryNumStr = enumerator.Current.AreaCode + GetGallerNum(enumerator.Current.GalleryNumber), GalleryName = enumerator.Current.GalleryName, AreaCode = enumerator.Current.AreaCode, CreateTime = enumerator.Current.CreateTime.ToString(), GalleryNumber = enumerator.Current.GalleryNumber, HotNumber = int.Parse(enumerator.Current.HotNumber), ID = enumerator.Current.ID.ToString(), Reamrk = enumerator.Current.Reamrk }; List qtmp = qDetailList.Where(w => w.GalleryId == tmp.ID && w.PeriodsNumber == periodsNumber).ToList(); if (qtmp.Count > 0) { tmp.ImageUrl = qtmp[0].ImageUrl; tmp.HasImage = 1; tmp.PK = qtmp[0].PK.ToString(); } tplist.Add(tmp); } // rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序 List alist = tplist.Where(w => w.AreaCode == "A").OrderBy(o => o.GalleryNumber).ToList(); List blist = tplist.Where(w => w.AreaCode == "B").OrderBy(o => o.GalleryNumber).ToList(); List clist = tplist.Where(w => w.AreaCode == "C").OrderBy(o => o.GalleryNumber).ToList(); rtdata.AddRange(alist); rtdata.AddRange(blist); rtdata.AddRange(clist); } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "QueryHotArtList"); } return rtdata; } public static List QueryNew(int page, int rows, out int totalrows, out int totalpage, int periodsNumber) { List rtdata = new List(); totalpage = 0; totalrows = 0; try { List list = Tk_GalleryBLL.GetPageList(page, rows, new Dictionary(), out totalrows, "GalleryNumber", false).ToList(); totalpage = totalrows % rows > 0 ? totalrows / rows + 1 : totalrows / rows; IEnumerator enumerator = list.GetEnumerator(); List gallid = list.Select(s => s.ID).ToList(); List qDetailList = new List(); if (periodsNumber == 0) { periodsNumber = Tk_GalleryBLL.NewPeriodsNumber(); } if (gallid.Count > 0) { qDetailList = Tk_GalleryDetailBLL.QueryDetailByGalleryId(gallid, periodsNumber); } List tplist = new List(); while (enumerator.MoveNext()) { ImageMenuInfoModel tmp = new ImageMenuInfoModel() { GalleryNumStr = enumerator.Current.AreaCode + GetGallerNum(enumerator.Current.GalleryNumber), GalleryName = enumerator.Current.GalleryName, AreaCode = enumerator.Current.AreaCode, CreateTime = enumerator.Current.CreateTime.ToString(), GalleryNumber = enumerator.Current.GalleryNumber, HotNumber = int.Parse(enumerator.Current.HotNumber), //ID = enumerator.Current.PK.ToString(), ID = enumerator.Current.ID, Reamrk = enumerator.Current.Reamrk }; List qtmp = qDetailList.Where(w => w.GalleryId == tmp.ID && w.PeriodsNumber == periodsNumber).ToList(); if (qtmp.Count > 0) { tmp.ImageUrl = qtmp[0].ImageUrl; tmp.HasImage = 1; //tmp.ID = qtmp[0].PK.ToString(); tmp.PK = qtmp[0].PK.ToString(); } tplist.Add(tmp); } List alist = tplist.Where(w => w.AreaCode == "A").OrderBy(o => o.GalleryNumber).ToList(); List blist = tplist.Where(w => w.AreaCode == "B").OrderBy(o => o.GalleryNumber).ToList(); List clist = tplist.Where(w => w.AreaCode == "C").OrderBy(o => o.GalleryNumber).ToList(); rtdata.AddRange(alist); rtdata.AddRange(blist); rtdata.AddRange(clist); } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "QueryNew"); } return rtdata; // rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序 } /// /// 查询图谜实体 /// /// /// public static ImageInfoModel QueryArtInfo(string ID = null, string PeriodsNumber = null, string pk = null) { ImageInfoModel rtdata = new ImageInfoModel(); try { int num = 0; var data = Tk_GalleryDetailBLL.Qthreelist( int.Parse(pk),out num); var tmpsimple = data.Where(w => w.PeriodsNumber == num).ToList(); if (tmpsimple.Count>0) { rtdata = new ImageInfoModel() { galleryId = tmpsimple[0].GalleryId, PK= tmpsimple[0].PK, SortCode = tmpsimple[0].SortCode, ID = tmpsimple[0].ID, ImageUrl = tmpsimple[0].ImageUrl, PeriodsNumber = tmpsimple[0].PeriodsNumber.ToString(), }; var lastsimple = data.Where(w => w.PeriodsNumber == int.Parse(PeriodsNumber) - 1).ToList() ; if (lastsimple.Count>0) { ImageInfoModel tmp = new ImageInfoModel() { galleryId = lastsimple[0].GalleryId, PK = lastsimple[0].PK, SortCode = lastsimple[0].SortCode, ID = lastsimple[0].ID, ImageUrl = lastsimple[0].ImageUrl, PeriodsNumber = lastsimple[0].PeriodsNumber.ToString(), }; rtdata.LastModel = tmp; } var nextsimple = data.Where(w => w.PeriodsNumber == int.Parse(PeriodsNumber) + 1).ToList() ; if (nextsimple.Count>0) { ImageInfoModel tmp = new ImageInfoModel() { galleryId = nextsimple[0].GalleryId, PK = nextsimple[0].PK, SortCode = nextsimple[0].SortCode, ID = nextsimple[0].ID, ImageUrl = nextsimple[0].ImageUrl, PeriodsNumber = nextsimple[0].PeriodsNumber.ToString(), }; rtdata.NextModel = tmp; } } } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "QueryArtInfo"); } return rtdata; } public static List GetTkPeriodsNumberList() { List newsPreviewItem = new List(); try { string year = DateTime.Now.Year.ToString(); string oldyear = DateTime.Now.AddYears(-1).Year.ToString(); var data = Tk_GalleryBLL.GalleryNumberList(); int num=DateHelper.getTimeSpan(); var newyearlist = data.Where(w => int.Parse(w) <100).ToList(); if (newyearlist.Count>0) { var oldyearlist= data.Where(w => int.Parse(w) > 100).ToList(); foreach (var item in newyearlist) { GalleryNumberList preItem = new GalleryNumberList { PeriodsNumber = item, Title = year + item, }; newsPreviewItem.Add(preItem); } foreach (var item in oldyearlist) { GalleryNumberList preItem = new GalleryNumberList { PeriodsNumber = item, Title = oldyear + item, }; newsPreviewItem.Add(preItem); } } else { foreach (var item in data) { GalleryNumberList preItem = new GalleryNumberList { PeriodsNumber = item, Title = year + item, }; newsPreviewItem.Add(preItem); } } newsPreviewItem.RemoveAll(w => int.Parse(w.Title) > int.Parse(DateTime.Now.Year +"0"+ num.ToString())); } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "GetTkPeriodsNumberList"); } return newsPreviewItem; } public static TrendChartModel GetTrendChartSRC(string LotteryType) { TrendChartModel data = new TrendChartModel(); try { DataItemModel itemdata = DataItemBLL.GetDataItemList(LotteryType);//param.LotteryType int count = 0; List list = TrendChartBLL.GetList(1, 10, new Dictionary() { { "CategoryId", itemdata.ItemDetailId }, { "LikeTitle", "基本走势图" } }, out count, null, false); if (list.Count == 0)//继续采用走势图匹配 { list = TrendChartBLL.GetList(1, 10, new Dictionary() { { "CategoryId", itemdata.ItemDetailId }, { "EqTitle", "走势图" } }, out count, null, false); //trendChartBLL.GetPageList(s => s.CategoryId == itemdata.ItemDetailId && s.Title == "走势图").ToList(); } if (list.Count == 0)//继续采用走势图带连线 匹配 { list = TrendChartBLL.GetList(1, 10, new Dictionary() { { "CategoryId", itemdata.ItemDetailId }, { "EqTitle", "走势图带连线" } }, out count, null, false); //trendChartBLL.GetPageList(s => s.CategoryId == itemdata.ItemDetailId && s.Title == "走势图带连线").ToList(); } if (list.Count == 0)//还是就返回失败 { return null; } else { data = new TrendChartModel() { Name = list[0].Title, Url = list[0].TrendChartUrl }; } } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "GetTrendChartSRC"); } return data; } public static string GetMaxInYear(string year) { string qs = ""; try { qs = Tk_GalleryBLL.GetYearMaxPeridos(year); } catch (Exception ee) { LogHelper.Error(typeof(TKApiBLL), ee.Message + "GetMaxInYear"); } return year + qs.PadLeft(3, '0'); } public static Tk_Gallery GetBykey(object key) { return Tk_GalleryBLL.QueryItemByKey(key); } } }