public ActionResult Index(Guid type, Guid?articleID = null) { var structure = structureService.Get(type); //文章下拉選單 ItemService itemService = new ItemService { ClientID = SessionManager.Client.ID }; var param = new PageParameter { IsPaged = false }; if (structure.RequiredTypes.HasValue((int)ContentType.Date)) { param.SortColumn = SortColumn.Date; } else { param.SortColumn = SortColumn.Sort; } var filter = new ItemFilter(); //篩選部門 if (structure.ContentTypes.HasValue((int)ContentType.Department) && !SessionManager.IsSuperManager) { filter.DepartmentIDs = SessionManager.DepartmentIDs; } //篩選文章 filter.StructureIDs = structure.ID.ToListObject(); filter.LangType = SystemLanguage; var data = itemService.GetListView(param, filter); ViewBag.SelectItem = data.Data.ToList(); //篩選文章群組 var parentStructures = structure.ParentStructure.FirstOrDefault(x => x.ItemTypes.HasValue((int)ItemType.ArticleGroup)); if (parentStructures != null) { filter.StructureIDs = parentStructures.ID.ToListObject(); filter.LangType = SystemLanguage; var dataGroup = itemService.GetListView(param, filter); ViewBag.SelectGroupItem = dataGroup.Data.Select( x => new SelectListItem { Value = x.Item.ID.ToString(), Text = x.ItemLanguage.Subject, Selected = x.Item.ID == articleID }).ToList(); } return(View(structure)); }
public ActionResult GetNode(Guid?id = null) { var node = new TreeViewModel(); if (id != null) { var item = service.Get(id.Value); node = service.ItemToTreeNode(item); } return(PartialView("_TreeNode", node)); }
///// <summary> ///// 退出比賽 ///// </summary> ///// <param name="id">The identifier.</param> ///// <param name="captcha">The captcha.</param> ///// <returns></returns> //public async Task<ActionResult> ChildOutOrder(Guid id, string captcha = "") //{ // //check在編輯期間 //} #endregion #endregion #region 訂單紀錄 public ActionResult Order(Guid type) { var model = new OrderListModel { Structure = structureService.Get(type), OrderPageModel = new OrderPageModel { StructureID = type, } }; return(View(ViewName("Member", "Order"), model)); }
public ActionResult Create(Guid?structureID = null) { var model = new EditItemViewModel { Item = new cms_Item(), ItemLanguage = new cms_ItemLanguage(),//不指定語系 SelectList = structureService.GetSelectList(ItemType.Category, selectFirstLevel: true) }; //指定Structure(第二層之後) if (structureID != null) { var structure = structureService.Get(structureID.Value); model.Item.cms_Structure = structure; model.Item.StructureID = structure.ID; model.ItemLanguage.LanguageType = structure.DefaultLanguage; } return(PartialView("_Edit", model)); }
public ActionResult Index(Guid type) { var structure = structureService.Get(type); return(View(structure)); }
public ActionResult GetPageList(PageParameter param, OrderFilter filter, OrderTeamSelect Type, ReportStyle ReportStyle, string subject = "", bool IsExport = false) { filter.LangType = SystemLanguage; ViewBag.ReportStyle = ReportStyle; string fileName = $"{Type.GetDisplayName()}-{subject}-" + string.Format("{0:MMddHHmmss}", DateTime.Now) + ".xlsx"; if (Type == OrderTeamSelect.CompetitionUnits) { var model = itemService.GetCompetitionUnits(filter.ArticleID.Value); if (IsExport) { #region dataTable List <CompetitionUnitsModelAll> dt = model .SelectMany(x => x.Members.Select(y => new CompetitionUnitsModelAll { Creater = x.Creater, Phone = x.Phone, Email = x.Email, County = x.County, UnitTempNo = x.TempNo, Unit = x.Unit, UnitShort = x.UnitShort, Coach = x.Coach, Leader = x.Leader, Manager = x.Manager, OrderNumber = x.OrderNumber, //TotalPrice = x.TotalPrice, MemberCount = x.MemberCount, MemberTempNo = y.TempNo, MemberName = y.MemberName })).ToList(); #endregion var exportResult = ExcelTool.Create(dt); return(File(exportResult, "application/vnd.ms-excel", fileName)); } return(PartialView("_PageList_Units", model)); } else if (Type == OrderTeamSelect.CompetitionItems) { var model = itemService.GetCompetitionItems(filter.ArticleID.Value); if (IsExport) { #region dataTable List <CompetitionItemsModelAll> dt = model .SelectMany(x => x.Teams.SelectMany(y => y.Members.Select(z => new CompetitionItemsModelAll { Subject = x.Subject, Option = x.Option, TeamCount = x.TeamCount, DetailTeamName = y.DetailTeamName, FilePath = y.FilePath, DetailPrice = y.DetailPrice, DiscountPrice = y.DiscountPrice, TempNo = z.TempNo, MemberName = z.MemberName, Unit = z.Unit }))).ToList(); #endregion var exportResult = ExcelTool.Create(dt); return(File(exportResult, "application/vnd.ms-excel", fileName)); } return(PartialView("_PageList_Items", model)); } else if (Type == OrderTeamSelect.CompetitionMembers) { var model = itemService.GetCompetitionMembers(filter.ArticleID.Value); if (IsExport) { #region dataTable List <CompetitionMemberItemAll> dt = model .SelectMany(x => x.Items.Select(y => new CompetitionMemberItemAll { TempNo = x.TempNo, MemberName = x.MemberName, IdentityCard = x.IdentityCard, Birthday = x.Birthday, Gender = x.Gender, County = x.County, UnitTempNo = x.UnitTempNo, Unit = x.Unit, Coach = x.Coach, ItemCount = x.ItemCount, Subject = y.Subject, Option = y.Option, DetailPrice = y.DetailPrice, DiscountPrice = y.DiscountPrice })).ToList(); #endregion var exportResult = ExcelTool.Create(dt); return(File(exportResult, "application/vnd.ms-excel", fileName)); } return(PartialView("_PageList_Members", model)); } else { var structure = structureService.Get(filter.StructureID); ViewBag.Structure = structure; var model = service.GetTeamList(param, filter); return(PartialView("_PageList", model)); } }
/// <summary> /// Item private (from Get、Preview) /// </summary> /// <param name="oriData"></param> /// <param name="viewName">回傳view</param> /// <param name="itemType">指定類型</param> /// <returns></returns> public CiResult <object> ShowItem(ItemViewModel oriData, ref string viewName, ItemType?itemType = null) { var result = new CiResult <object>(); var data = TransModel(oriData); if (data == null) // || string.IsNullOrEmpty(structure.ViewName) { result.Message = "data not found"; return(result); //404 } #region 取得資料 //結構 var structure = structureService.Get(data.Item.StructureID); if (structure == null) // || string.IsNullOrEmpty(structure.ViewName) { result.Message = "structure not found"; return(result); //404 } //子結構(子分類) 文章後推一層 var subStructures = structureService.GetByParent(structure.ID.ToListObject(), ItemType.CategorySub); var subItemList = new PageModel <ItemViewModel>(); if (subStructures.Any()) { subItemList = service.GetListView( new PageParameter { SortColumn = SortColumn.Sort, IsPaged = false }, new ItemFilter { LangType = ApplicationHelper.DefaultLanguage, StructureIDs = subStructures.Select(x => x.ID).ToList(), CategoryIDs = data.Item.ID.ToListObject() }); } /****若有子分類,文章往後推一層****/ //子結構(多種文章) List <Guid> articleStructureID = (subStructures.Any()) ? subStructures.Select(x => x.ID).ToList() : structure.ID.ToListObject(); var articleStructures = structureService.GetByParent(articleStructureID, ItemType.Article); //分頁參數 var pageModel = new ItemPageModel(); if (articleStructures != null) { //所有層級Category都可 (父層分類可找到子層分類的文章) var CategoryIDs = data.Item.ID.ToListObject(); if (subStructures.Any()) { CategoryIDs.AddRange(subItemList.Data.Select(x => x.Item.ID).ToList()); } pageModel.CategoryJson = _Json.ModelToJson(CategoryIDs); pageModel.StructureJson = _Json.ModelToJson(articleStructures.Select(x => x.ID)); //sort if (articleStructures.All(x => x.RequiredTypes.HasValue((int)ContentType.Date))) { pageModel.SortColumn = SortColumn.Date; } else if (articleStructures.All(x => x.RequiredTypes.HasValue((int)ContentType.Sort))) { pageModel.SortColumn = SortColumn.Sort; } else { pageModel.SortColumn = SortColumn.CreateTime; } //人才庫 if (articleStructures.Any(x => x.ItemTypes.HasValue((int)ItemType.Q8People))) { pageModel.DataLevel = DataLevel.Normal; } } #endregion #region 回傳頁面 //// ckeditor //data.ItemLanguage.Content = HttpUtility.HtmlDecode(data.ItemLanguage.Content); //data.ItemLanguage.TemplateText = HttpUtility.HtmlDecode(data.ItemLanguage.TemplateText); //Banner //if (structure.ItemTypes.HasValue((int)ItemType.Banner) || itemType == ItemType.Banner) //{ // if (articleStructure == null) // return null; //404 // pageModel.ViewName = structure.ViewName; // pageModel.IsPaged = false; // return pageModel; //} // else //內容 Detail if (structure.ItemTypes.HasValue((int)ItemType.Article) || itemType == ItemType.Article) { viewName = structure.ViewName; result.Data = data; result.IsSuccess = true; return(result); } //列表 List else if (structure.ItemTypes.HasValue((int)ItemType.Category) || itemType == ItemType.Category) { //子結構可以是文章或次分類 if (!articleStructures.Any() && !subStructures.Any()) { return(result); //404 } pageModel.ViewName = structure.ViewName + "_Page"; var model = new ItemListModel { ItemViewModel = data, ItemPageModel = pageModel, }; if (subItemList.Data != null) { model.SubItemList = new List <ItemWebViewModel>( subItemList.Data?.Select(x => TransModel(x)).ToList() ); } viewName = structure.ViewName; result.Data = model; result.IsSuccess = true; return(result); } result.Message = "type not found"; return(result); //404 #endregion }