using Business.TK; using Business.ZX; using Cache; using Common; using M55128_rec.Business.TK; using M55128_rec.Models.ViewModels.ConsultationMangerModel; using Models; using Models.Entity.LottomatBaseDB; using Models.Views; using Services; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace M55128_rec.Business.ZX { public static class ZXApiBLL { //private static LogHelper log = null; private static readonly string[] types = { "FC3D", "SSQ", "PL3", "QT" }; static ZXApiBLL() { // log = new LogHelper(); } public static List GetCacheHomeNewsList() { if (!Ctrl.ZXViewNeedUpdate()) { Ctrl.SETZXView(GetHomeNewsList()); } return Ctrl.GetZXView() as List; } public static List GetHomeNewsList() { List res = new List(); var data = DataItemBLL.GetBaseDataItemListbyEnCode(types.ToList()) ; try { foreach (string code in types) { List news = NewsBLL.GetHomeNewsList(code); if (news.Count > 0) { News_Preview preview = new News_Preview { NewsType = code }; var tmpbaseitme = data.Single(w => w.ItemCode == code); preview.ItemName = tmpbaseitme.ItemName; List newsPreviewItem = new List(); foreach (Base_News n in news) { NewsPreviewItem preItem = new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead, PeriodsNumber=n.PeriodsNumber }; newsPreviewItem.Add(preItem); } preview.NewsPreviewItem = newsPreviewItem; res.Add(preview); } } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetHomeNewsList"); } return res; } public static News_Preview GetColorNewsList(int page, int rows, string Category, string order = null, bool isdes = false) { try { List data = DataItemBLL.GetDataItemList(new List() { { Category } }); //分类Ids string[] ids = data.Select(d => d.ItemDetailId).ToArray(); int count = 0; Dictionary dict = new Dictionary(); dict["IsDelete"] = 0; dict["TypeId"] = 1; dict["CategoryId"] = ids.ToList(); //获取数据 //List news = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", false); List news = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true); //GetPageList(n => n.IsDelete == false && n.TypeId == 1 && ids.Contains(n.CategoryId), page).ToList(); if (news.Count > 0 || news.Any()) { //分类名称 News_Preview preview = new News_Preview { NewsType = Category }; //项目名称 Base_DataItem entity = DataItemBLL.GetBaseDataItemListbyEnCode(Category); preview.ItemName = entity.ItemName; List newsPreviewItem = news.Select(n => new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead }).ToList(); preview.NewsPreviewItem = newsPreviewItem; return preview; } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetColorNewsList"); } return null; } public static GetZX_NewsDetails GetNewsDetails(string id) { GetZX_NewsDetails res = new GetZX_NewsDetails(); try { var tmpnews = NewsBLL.GetItem(int.Parse(id)); List data = NewsBLL.GetGetNewsDetails(tmpnews.NewsId); //获取数据 if (data != null) { var tmp = data.SingleOrDefault(w => w.NewsId == tmpnews.NewsId); res = new GetZX_NewsDetails { NewsId = tmp.NewsId, PK = tmp.PK, FullHead = tmp.FullHead, CreateDate = tmp.CreateDate.ToString("yyyy-MM-dd"), CreateUserName = tmp.CreateUserName, NewsContent = tmp.NewsContent, PeriodsNumber = tmp.PeriodsNumber, IsRecommend = tmp.IsRecommend, IsHot = tmp.IsHot ?? false, PV = tmp.PV, TitleElement = tmp.TitleElement, DescriptionElement = tmp.DescriptionElement, KeywordElement = tmp.KeywordElement, Category=tmp.Category }; #region 新增上一期、下一期预告 // List preAndNext = GetNewsListByPk(res.PK ?? 1); List list = new List(); #region 上一期 Base_News dataPre = data.SingleOrDefault(w => w.PK == tmp.PK - 1); if (dataPre != null) { //上一期 OnThene onThene = new OnThene { Which = 1, Title = dataPre.FullHead, NewsId = dataPre.PK.ToString() }; list.Add(onThene); } else { //上一期 OnThene onThene = new OnThene { Which = 1, Title = "已经是最新一期啦", NewsId = "" }; list.Add(onThene); } #endregion #region 下一期 Base_News dataNext = data.SingleOrDefault(w => w.PK == tmp.PK + 1); if (dataNext != null) { //下一期 OnThene onThene = new OnThene { Which = 2, Title = dataNext.FullHead, NewsId = dataNext.PK.ToString() }; list.Add(onThene); } else { //下一期 OnThene onThene = new OnThene { Which = 2, Title = "已经是最后一期啦", NewsId = "" }; list.Add(onThene); } #endregion res.PreAndNextNewsList = list; #endregion return res; } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetNewsDetails"); } return res; } /// /// 彩种下面的分类名称和文章列表 /// /// 彩种名称,值为"FC3D", "SSQ", "PL3", "QT" /// public static ClassiFication GetClassiFicationNewsList(string Category) { try { List data = DataItemBLL.GetDataItemList(new List() { { Category } }); List res = data.Select(d => new ItemList { ItemId = d.ItemDetailId, SimpleSpelling = d.SimpleSpelling.ToUpper(), ItemName = d.ItemName }).ToList(); //文章Ids string firstId = res[0].ItemId; List listexp = new List(); listexp.Add(new EExpression("CategoryId", "=", firstId)); List news = NewsBLL.GetList(1, 20, listexp, "ReleaseTime",true); List newsPreviewItem = new List(); if (news.Count > 0) { foreach (Base_News n in news) { NewsPreviewItem preItem = new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead }; newsPreviewItem.Add(preItem); } } ClassiFication result = new ClassiFication { ItemList = res, NewsList = newsPreviewItem }; return result; } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetClassiFicationNewsList"); } return null; } public static List GetNewsList(int page, int rows, string ItemId, string order = null, bool isdes = false) { //分类Ids List newsPreviewItem = new List(); try { int count = 0; //获取数据 Dictionary dict = new Dictionary(); dict["CategoryId"] = new List() { { ItemId } }; List news = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true); if (news.Count > 0) { newsPreviewItem = news.Select(n => new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead }).ToList(); } else { //如果为空,则默认查询太湖字谜和彩神通字谜下面子分类咨询 List list = DataItemBLL.GetListbyItemId(ItemId); if (list != null) { List itemDetailIds = list.Select(d => d.ItemDetailId).ToList(); //获取数据 dict["CategoryId"] = itemDetailIds; List temp = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true); newsPreviewItem = temp.Select(n => new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead }).ToList(); } } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetNewsList"); } return newsPreviewItem; } } }