Esempio n. 1
0
        /// <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"));
            }
        }
Esempio n. 2
0
        /// <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"));
            }
        }
Esempio n. 3
0
        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"));
            }
        }
Esempio n. 4
0
        //[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());
            }
        }