/// <summary> /// 顯示我的課程 /// </summary> /// <returns></returns> public ActionResult MyCourse() { try { //驗證授權:一般會員 var pass = roleAuth.UserAuth(); if (pass == true) { ViewBag.UserName = roleAuth.UserName(); ViewBag.RoleName = "User"; } else { TempData["Msg"] = "無權限瀏覽該網頁,請登入會員瀏覽,謝謝!"; return(RedirectToAction("Logout", "Home")); } //取得會員Id var UserEmail = User.Identity.Name; MemberOperation member = new MemberOperation(); var MemberId = member.Get(UserEmail).MemberNo; //取得會員課程 MemberCourseOperation mco = new MemberCourseOperation(); var LstCourse = mco.Get(MemberId); var courses = LstCourse.ToLookup(o => o.CourseType_no, o => o.Num); //將會員課程寫入我的課程ViewModel List <MyCourseViewModel> LstMcv = new List <MyCourseViewModel>(); foreach (var type in courses) { MyCourseViewModel mcv = new MyCourseViewModel(); CourseTypeOperation cto = new CourseTypeOperation(); var ClassName = cto.Get(type.Key).Name; //取得課程類型名稱 int addCnt = 0; //加總用變數 mcv.Name = ClassName; //將同課程類型的課堂數加總 foreach (int cnt in type) { addCnt += cnt; } mcv.count = addCnt; LstMcv.Add(mcv); } return(View(LstMcv)); } catch (Exception ex) { ViewBag.Msg = ex.ToString(); return(RedirectToAction("Logout", "Home")); } }
/// <summary> /// 顯示我的預約課程紀錄 /// </summary> /// <returns></returns> public ActionResult MyBooking() { try { //驗證授權:一般會員 var pass = roleAuth.UserAuth(); if (pass == true) { ViewBag.UserName = roleAuth.UserName(); ViewBag.RoleName = "User"; } else { TempData["Msg"] = "無權限瀏覽該網頁,請登入會員瀏覽,謝謝!"; return(RedirectToAction("Logout", "Home")); } //取得會員Id var UserEmail = User.Identity.Name; MemberOperation member = new MemberOperation(); var id = member.Get(UserEmail).MemberNo; CourseOperation co = new CourseOperation(); var nowdata = co.GetBooking(id); //尚未結束之預約課程 var pastdata = co.GetPastBooking(id); //已結束之預約課程 CourseTypeOperation cto = new CourseTypeOperation(); ClassroomOperation classroom = new ClassroomOperation(); StoreOperation so = new StoreOperation(); TeacherOperation to = new TeacherOperation(); BookingGroupViewModel booking = new BookingGroupViewModel(); booking.FutureBooking = new List <FutureBookingViewModel>(); booking.PastBooking = new List <PastBookingViewModel>(); foreach (var item in nowdata) { FutureBookingViewModel fbv = new FutureBookingViewModel() { CourseNo = item.CourseNo, //課程代號 CourseName = cto.Get(item.CourseType_No).Name, //課程名稱 Date = item.ClassDate.ToShortDateString(), //日期 Classroom = classroom.Get(item.Classroom_No).Name, //教室 Store = so.GetName(classroom.Get(item.Classroom_No).Store_No), //場館 Time = item.StartTime.ToShortTimeString() + " ~ " + item.EndTime.ToShortTimeString(), //上課時間 Teacher = to.GetName(item.Teacher_No) //教練名字 }; booking.FutureBooking.Add(fbv); } foreach (var item in pastdata) { PastBookingViewModel pbv = new PastBookingViewModel() { CourseNo = item.CourseNo, //課程代號 CourseName = cto.Get(item.CourseType_No).Name, //課程名稱 Date = item.ClassDate.ToShortDateString(), //日期 Classroom = classroom.Get(item.Classroom_No).Name, //教室 Store = so.GetName(classroom.Get(item.Classroom_No).Store_No), //場館 Time = item.StartTime.ToShortTimeString() + " ~ " + item.EndTime.ToShortTimeString(), //上課時間 Teacher = to.GetName(item.Teacher_No) //教練名字 }; booking.PastBooking.Add(pbv); } return(View(booking)); } catch (Exception ex) { TempData["Msg"] = ex.ToString(); return(RedirectToAction("Logout", "Home")); } }
public ActionResult SeriesDetail(SeriesDetailViewModel model) { try { //驗證授權:一般會員 var pass = roleAuth.UserAuth(); if (pass == true) { ViewBag.UserName = roleAuth.UserName(); ViewBag.RoleName = "User"; } else { TempData["Msg"] = "無權限瀏覽該網頁,請登入會員瀏覽,謝謝!"; return(RedirectToAction("Logout", "Home")); } var UserEmail = User.Identity.Name; MemberOperation member = new MemberOperation(); //取得會員Id var MemberId = member.GetNo(UserEmail); //取得會員資料 var memberData = member.Get(UserEmail); //購買方案數量 var BuyCnt = Convert.ToInt16(model.Count); //新增方案購買紀錄 PurchaseRecord purchaseRecord = new PurchaseRecord(); purchaseRecord.Date = DateTime.Now; //購買日期 purchaseRecord.Count = BuyCnt; //購買數量 purchaseRecord.PayStatus = true; //付款狀態 purchaseRecord.CourseSeries_No = model.SeriesId; //方案代號 purchaseRecord.Member_No = MemberId; //會員id PurchaseRecordOperation pr = new PurchaseRecordOperation(); pr.Add(purchaseRecord); //找出課程方案內容 CourseSeriesDetailOperation csd = new CourseSeriesDetailOperation(); var seriesDetails = csd.Get(model.SeriesId); //找出會員課程table筆數 MemberCourseOperation mco = new MemberCourseOperation(); int dataCnt = mco.GetCount(); //將課程方案內容新增至會員課程 List <MemberCourse> LstCourses = new List <MemberCourse>(); foreach (var item in seriesDetails) { MemberCourse memberCourse = new MemberCourse(); CourseTypeOperation cto = new CourseTypeOperation(); memberCourse.MemberCourseNo = dataCnt + 1; memberCourse.CourseType_no = item.CourseType_No; //課程類型代號 memberCourse.Member_No = MemberId; //會員id memberCourse.Num = item.Num * BuyCnt; //課程堂數=原方案內容課程數*購買數量 LstCourses.Add(memberCourse); } mco.Add(LstCourses); return(RedirectToAction("MyPurchaseSeries", new { MemberId })); } catch (Exception ex) { TempData["Msg"] = ex.ToString(); return(RedirectToAction("Logout", "Home")); } }
//[CommonAuthorize] public ActionResult Index() { try { RoleAuthManager roleAuth = new RoleAuthManager(); var pass = roleAuth.UserGuestAuth(); if (pass == 0) { ViewBag.UserName = roleAuth.UserName(); } else if (pass == 1) { ViewBag.UserName = roleAuth.UserName(); ViewBag.RoleName = "User"; } else if (pass == 2) { ViewBag.RoleName = "Admin"; ViewBag.UserName = roleAuth.UserName(); TempData["Msg"] = "無權限瀏覽該網頁,請登入會員或以訪客身分瀏覽,謝謝!"; return(RedirectToAction("Login", "Home")); } StoreOperation storeOp = new StoreOperation(); var AllStore = storeOp.Get(); //取得所有館別 ClassroomOperation clsroomOp = new ClassroomOperation(); var AllStoreClassRoom = clsroomOp.Get(AllStore); //取得所有館別的教室 CourseOperation crsItemOp = new CourseOperation(); CourseTypeOperation crsOp = new CourseTypeOperation(); List <IndexViewModel> Lstmodel = new List <IndexViewModel>(); //取得每個館別的資料 foreach (var store in AllStore) { IndexViewModel model = new IndexViewModel(); model.CourseInfo = new List <string>(); model.Store = store.Name; model.AccessLimit = store.AccessLimit.ToString(); model.AccessNow = store.MemberInCnt.ToString(); //取得該館的所有教室 var StoreClassRoom = clsroomOp.Get(store); //若教室為一對一教練課用 跳過 foreach (var Room in StoreClassRoom) { if (Room.Name.Equals("一對一場地")) { continue; } var RoomName = Room.Name; var LstCourse = crsItemOp.Get(Room);//取得教室的所有課程 //取得教室目前課程 var NowCourse = from c in LstCourse where c.CourseType_No != "Ch05" && c.ClassDate.Equals(DateTime.Now.Date) && c.StartTime <= DateTime.Now && DateTime.Now <= c.EndTime select c.CourseType_No; //教室目前有課程 if (NowCourse.Count() > 0) { //取得教室名稱與目前課程名稱 var tmpNowCourse = NowCourse.ToList(); var courseName = crsOp.Get(tmpNowCourse[0]).Name; model.CourseInfo.Add(RoomName + ":" + courseName); } //教室目前沒有課程 else { //取得教室名稱 紀錄目前無課程 model.CourseInfo.Add(RoomName + ":目前無課程"); } } Lstmodel.Add(model); } return(View(Lstmodel)); } catch (Exception ex) { TempData["Msg"] = ex.ToString(); return(View()); } }