// 最新訊息 - 新聞 公告 聲明 內容 public ActionResult AnnouncementContent(int?ID, int?typeID) { if (!ID.HasValue || !typeID.HasValue) { return(RedirectToAction("AnnouncementLatest")); } //======語系取得======== string langCd = GetLang(); //====================== AnnouncementLatestRepository repo = new AnnouncementLatestRepository(); AnnouncementLatestContent mdoel = repo.GetContentByID((int)ID, (int)typeID, langCd); //=瀏覽記錄==================== DataTable d_log; string err_msg = ""; DB.Log_Insert(ID.ToString(), "News"); d_log = DB.Log_List(ref err_msg, ID.ToString(), "News"); ViewData["log_count"] = d_log.Rows.Count.ToString(); //============================ return(View(mdoel)); }
/// <summary> /// 內容 /// </summary> /// <param name="id"></param> /// <param name="langCode"></param> /// <returns></returns> public AnnouncementLatestContent GetContentByID(int id, int typeID, string langCode) { AnnouncementLatestContent result = new AnnouncementLatestContent(); using (var db = new TCGDB(_connectionString)) { var sourceList = db.NEWS .AsEnumerable() .Where(s => (string.IsNullOrEmpty(langCode) ? true : s.LANG_ID == langCode) && s.STATUS == "Y" && s.CATE_ID == typeID) .OrderByDescending(o => o.SORT) .OrderByDescending(s => s.N_DATE) .ToList(); var source = sourceList.Where(s => s.ID == id).FirstOrDefault(); if (source == null) { throw new Exception("無法取得新聞內容,是否已被移除."); } result.Data = new AnnouncementLatestData() { ID = source.ID, Title = source.N_TITLE, Img = GetMainImg(source.ID), PublishDateString = source.N_DATE.Value.ToString("yyyy-MM-dd"), CateIDInfo = GetNewsCateByID((int)source.CATE_ID, langCode), Content = source.N_DESC }; int dataIndex = sourceList.IndexOf(source); int lastDataIndex = sourceList.Count - 1; result.PreviousIDStr = dataIndex == 0 ? "" : sourceList[(dataIndex - 1)].ID.ToString(); result.NextIDStr = dataIndex == lastDataIndex ? "" : sourceList[(dataIndex + 1)].ID.ToString(); } return(result); }