/// <summary> /// 列表 /// </summary> /// <param name="filter"></param> /// <returns></returns> public FocusNewsResult GetList(int focusTypeID, FocusNewsListFilter filter, int?coustomPageSize = null, string isIndex = null) { FocusNewsResult result = new FocusNewsResult(); List <FocusNewsData> data = new List <FocusNewsData>(); using (var db = new TCGDB(_connectionString)) { try { var source = db.FOCUS .AsEnumerable() .Where(s => (string.IsNullOrEmpty(filter.LangCode) ? true : s.LANG_ID == filter.LangCode) && s.STATUS == "Y" && s.CATE_ID == focusTypeID && (string.IsNullOrEmpty(isIndex) ? true : s.IS_INDEX == isIndex)) .OrderByDescending(o => o.SORT) //排序大到小、發布日期新到舊、建檔日期新到舊 .ThenByDescending(s => s.C_DATE) .ThenByDescending(d => d.BD_DT) .ToList(); foreach (var item in source) { FocusNewsData temp = new FocusNewsData() { ID = item.ID, Title = item.C_TITLE, Img = GetMainImg(item.ID), PagingList = GetPagingListByID(item.ID), PublishDateString = item.C_DATE.Value.ToString("yyyy-MM-dd"), Sort = item.SORT.Value, BD_DTString = item.BD_DT.Value.ToString("yyyy-MM-dd"), }; temp.Remark = GetFirstPagingRemark(temp.PagingList); data.Add(temp); } result.Data = data; result = this.ListPagination(ref result, filter.CurrentPage, coustomPageSize ?? Convert.ToInt32(PublicMethodRepository.GetConfigAppSetting("DefaultPageSize"))); } catch (Exception ex) { throw ex; } } result.FocusTypeInfo = GetFocusCateByID(focusTypeID, filter.LangCode); return(result); }
// 焦點專欄 - 列表 public ActionResult FocusList(int?focusTypeID, int?page) { if (!focusTypeID.HasValue) { return(RedirectToAction("EventLatest")); } //======語系取得======== string langCd = GetLang(); //====================== FocusNewsListFilter filter = new FocusNewsListFilter() { CurrentPage = page ?? 1, LangCode = langCd }; focusTypeID = focusTypeID ?? 1; FocusRepository repo = new FocusRepository(); FocusNewsResult mdoel = repo.GetList((int)focusTypeID, filter); return(View(mdoel)); }