示例#1
0
        /// <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);
        }
示例#2
0
        // 焦點專欄 - 列表
        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));
        }