public ActionResult StaticHtmlMain(DataAction ActionType, string guid, string select_CreateTime, string select_HtmlContext, string select_sort, string selectType, int pages = 1) { TempData["DataAction"] = ActionType; StaticHtmlAction select = (StaticHtmlAction)Enum.Parse(typeof(StaticHtmlAction), selectType); StaticHtmlDetailViewModel data = new StaticHtmlDetailViewModel(); data = _StaticHtmlService.ReturnStaticHtmlDetail(select, ActionType, guid); PackageTempData(select_CreateTime, select_HtmlContext, select_sort, select, pages); return(View(data)); }
/// <summary> /// Packages the temporary data. /// </summary> /// <param name="select_CreateTime">The select create time.</param> /// <param name="select_HtmlContext">The select HTML context.</param> /// <param name="select_sort">The select sort.</param> /// <param name="selectType">Type of the select.</param> /// <param name="pages">The pages.</param> private void PackageTempData(string select_CreateTime, string select_HtmlContext, string select_sort, StaticHtmlAction selectType, int pages = 1) { pages = pages == 0 ? 1 : pages; TempData["StaticHtmlSelect"] = new StaticHtmlViewModel() { Header = new StaticHtmlListHeaderViewModel() { CreateTime = select_CreateTime, HtmlContext = select_HtmlContext, sort = select_sort }, page = pages, StaticHtmlActionType = selectType }; }
/// <summary> /// Returns the static HTML detail. /// </summary> /// <param name="selectType">Type of the select.</param> /// <param name="ActionType">Type of the action.</param> /// <param name="guid">The unique identifier.</param> /// <returns></returns> public StaticHtmlDetailViewModel ReturnStaticHtmlDetail(StaticHtmlAction selectType, DataAction ActionType, string guid) { StaticHtmlDetailViewModel DetailViewModel = new StaticHtmlDetailViewModel(); StaticHtmlDBViewModel StaticHtmlDBViewModel = _StaticHtmlRep.GetSingle(selectType, guid); if (StaticHtmlDBViewModel == null) { StaticHtmlDBViewModel = new StaticHtmlDBViewModel(); } var mapper = AutoMapperConfig.InitializeAutoMapper().CreateMapper(); DetailViewModel = mapper.Map <StaticHtmlDetailViewModel>(StaticHtmlDBViewModel); /*Enum手動綁進*/ DetailViewModel.StaticHtmlActionType = selectType; return(DetailViewModel); }
private IEnumerable <StaticHtmlDBViewModel> ReturnViewModel(StaticHtmlAction SelectTypes) { // 取得 靜態網頁主檔 Table List <StaticHtml> HtmlInfoList = _StaticHtml.GetAll().ToList(); // 取得 圖片資訊 List <PictureInfo> PicInfoList = _PictureInfo.GetAll().ToList(); // 取得 靜態分類 List <HtmlSubject> SubjectInfoList = _HtmlSubject.GetAll().ToList(); List <AspNetUsers> AspNetUsersList = _AspNetUsersRep.GetAll().ToList(); IEnumerable <StaticHtmlDBViewModel> ReturnViewModel = from HtmlInfo in HtmlInfoList //join PicInfo in PicInfoList //on HtmlInfo.PicGroupID equals PicInfo.PicGroupID join SubjectInfo in SubjectInfoList on HtmlInfo.SubjectID equals SubjectInfo.SubjectID //where SubjectInfo.SubjectID == "" orderby HtmlInfo.CreateTime select new StaticHtmlDBViewModel { HtmlContext = HtmlInfo.HtmlContext.Length > 25 ? HtmlInfo.HtmlContext.Substring(0, 25) + "..." : HtmlInfo.HtmlContext.ToString(), /*只固定顯示 25個字 */ StaticID = HtmlInfo.StaticID.ToString(), SubjectID = SubjectInfo.SubjectID, SubjectName = SubjectInfo.SubjectName, PicGroupID = HtmlInfo.PicGroupID.ToString(), CreateTime = HtmlInfo.CreateTime, //CreateUser = AspNetUsersList.Where(s => s.Id.Equals(HtmlInfo.CreateUser)).FirstOrDefault(),//.UserName, sort = HtmlInfo.sort, Status = HtmlInfo.Status, UpdateTime = HtmlInfo.UpdateTime, //UpdateUser = AspNetUsersList.Where(s => s.Id.Equals(HtmlInfo.UpdateUser)).FirstOrDefault(),//.UserName, picInfo = PicInfoList.Where(s => s.PicGroupID.Equals(HtmlInfo.PicGroupID) && s.Status == true) }; if (SelectTypes != StaticHtmlAction.All) { ReturnViewModel = ReturnViewModel.Where(s => s.SubjectID.Equals(SelectTypes.ToString())); } return(ReturnViewModel.OrderByDescending(s => s.CreateTime)); }
/// <summary> /// 藉由 guid 搜尋該ViewModel /// </summary> /// <returns></returns> public StaticHtmlDBViewModel GetSingle(StaticHtmlAction SelectTypes, string guid) { // 取得 靜態網頁主檔 Table List <StaticHtml> HtmlInfoList = _StaticHtml.GetAll().ToList(); // 取得 圖片資訊 List <PictureInfo> PicInfoList = _PictureInfo.GetAll().ToList(); // 取得 靜態分類 List <HtmlSubject> SubjectInfoList = _HtmlSubject.GetAll().ToList(); List <AspNetUsers> AspNetUsersList = _AspNetUsersRep.GetAll().ToList(); IEnumerable <StaticHtmlDBViewModel> ReturnViewModel = from HtmlInfo in HtmlInfoList //join PicInfo in PicInfoList //on HtmlInfo.PicGroupID equals PicInfo.PicGroupID join SubjectInfo in SubjectInfoList on HtmlInfo.SubjectID equals SubjectInfo.SubjectID //where SubjectInfo.SubjectID == "" orderby HtmlInfo.CreateTime select new StaticHtmlDBViewModel { HtmlContext = HtmlInfo.HtmlContext, StaticID = HtmlInfo.StaticID.ToString(), SubjectID = SubjectInfo.SubjectID, SubjectName = SubjectInfo.SubjectName, PicGroupID = HtmlInfo.PicGroupID.ToString(), CreateTime = HtmlInfo.CreateTime, // CreateUser = AspNetUsersList.Where(s => s.Id.Equals(HtmlInfo.CreateUser)).FirstOrDefault().UserName, sort = HtmlInfo.sort, Status = HtmlInfo.Status, UpdateTime = HtmlInfo.UpdateTime, // UpdateUser = AspNetUsersList.Where(s => s.Id.Equals(HtmlInfo.UpdateUser)).FirstOrDefault().UserName, picInfo = PicInfoList.Where(s => s.PicGroupID.Equals(HtmlInfo.PicGroupID) && s.Status == true) }; return(ReturnViewModel.Where(s => s.StaticID == guid.ToLower()).FirstOrDefault()); /*日後記得將此 string 與 Guid 做明顯區分避免會有資料因大小寫而找不到的問題產生*/ }
/// <summary> /// 統一藉由此ViewModel溝通將 三張Table串接 StaticHtmlViewModel /// </summary> /// <param name="SelectTypes">Html型態</param> /// <returns></returns> public IEnumerable <StaticHtmlDBViewModel> GetViewModel(StaticHtmlAction SelectTypes) { return(ReturnViewModel(SelectTypes)); }
/// <summary> /// 靜態網頁管理 取得 ViewModel /// </summary> /// <param name="searchBlock">The search block.</param> /// <param name="select">The select.</param> /// <param name="page">The page.</param> /// <returns></returns> private StaticHtmlViewModel HttpGetStaticHtmlViewModel(StaticHtmlViewModel searchBlock, StaticHtmlAction select, int page = 1) { StaticHtmlViewModel ResultViewModel = new StaticHtmlViewModel() { StaticHtmlActionType = select }; if (searchBlock == null) /*空*/ { ResultViewModel = _StaticHtmlService.GetStaticHtmlListViewModel(new StaticHtmlListHeaderViewModel(), select, page); } else { ResultViewModel = _StaticHtmlService.GetStaticHtmlListViewModel(searchBlock.Header, select, page); } return(ResultViewModel); }
/// <summary> /// Gets all static HTML ListView model. /// </summary> private IEnumerable <StaticHtmlListContentViewModel> GetAllStaticHtmlListViewModel(StaticHtmlListHeaderViewModel selectModel, StaticHtmlAction selectType) { //StaticHtmlListContentViewModel = 網頁要顯示的欄位抓取 //此動作目的在於不顯示過多的資訊至網頁上,進行欄位Mapping動作 IEnumerable <StaticHtmlListContentViewModel> ReturnList = _StaticHtmlRep.GetViewModel(selectType).Select(s => new StaticHtmlListContentViewModel() { CreateTime = s.CreateTime.ToString(), HtmlContext = s.HtmlContext, StaticID = s.StaticID, Status = s.Status.ToString() }); return(ReturnList); }
/// <summary> /// Gets the static HTML ListView model. /// </summary> /// <param name="selectModel">The select model.</param> /// <param name="nowpage">The nowpage.</param> /// <returns></returns> public StaticHtmlViewModel GetStaticHtmlListViewModel(StaticHtmlListHeaderViewModel selectModel, StaticHtmlAction selectType, int nowpage = 1) { StaticHtmlViewModel returnSystemRolesListViewModel = new StaticHtmlViewModel(); returnSystemRolesListViewModel.Header = selectModel; /*表頭*/ IEnumerable <StaticHtmlListContentViewModel> GetStaticHtmlListViewModelResult = GetAllStaticHtmlListViewModel(selectModel, selectType); int currentPage = (nowpage < 1) && GetStaticHtmlListViewModelResult.Count() >= 1 ? 1 : nowpage; returnSystemRolesListViewModel.Content_List = GetStaticHtmlListViewModelResult.ToPagedList(currentPage, pageSize);/*內容*/ returnSystemRolesListViewModel.StaticHtmlActionType = selectType; return(returnSystemRolesListViewModel); }