public ActionResult Apply(int?id) { if (!id.HasValue) { return(RedirectToAction("List")); } ApplyViewDetailsModel model = new ApplyViewDetailsModel(); using (var applyModule = new ApplyFrontModule()) { model = applyModule.GetViewActivityDetailsByID((int)id); if (model == null) { TempData["ErrorMsg"] = "查無該活動賽事"; return(RedirectToAction("List")); } } if (Session["ApplyGuid"] != null) { Session.Remove("ApplyGuid"); } return(View(model)); }
/// <summary> /// 取得報名明細 其中參賽群組已判斷報名數量 /// </summary> /// <param name="ID"></param> /// <returns></returns> public ApplyViewDetailsModel GetViewActivityDetailsByID(int ID) { ApplyViewDetailsModel details = DB.OLACT.Where(w => w.ID == ID) .Select(s => new ApplyViewDetailsModel() { ID = s.ID, Disable = s.DISABLE, PublishDateStr = s.PUB_DT_STR, Sort = s.SQ, Title = s.ACTITLE, ActivityDateTimeDescription = s.ACT_DATE_DESC, ActivityContent = s.ACT_CONTENT, ApplyDateTimeBegin = s.APPLY_DATE_BEGIN, ApplyDateTimeEnd = s.APPLY_DATE_END, ActivityNumber = s.ACT_NUM }) .FirstOrDefault(); PublicMethodRepository.HtmlDecode(details); if (details != null) { var group = DB.OLACTGROUP .Where(o => o.MAP_ACT_ID == ID) .Select(s => new ApplyViewGroup() { GroupID = s.ID, GroupName = s.GROUP_NAME, GroupApplyLimit = s.TEAM_APPLY_LIMIT, CountApplyLimit = s.COUNT_APPLY_LIMIT }) .ToList(); foreach (var g in group) { var applyGorupLimitCount = DB.APPLY.Where(o => o.MAP_ACT_ID == ID && o.MAP_ACT_GUP_ID == g.GroupID).Count(); g.CountApplyLastLimit = (g.GroupApplyLimit - applyGorupLimitCount) <= 0 ? 0 : (g.GroupApplyLimit - applyGorupLimitCount); details.ActivityGroup.Add(g); } details.ApplyGroupJsonString = JsonConvert.SerializeObject(details.ActivityGroup); } return(details); }