示例#1
0
        public JsonResult EditBooking(int id)
        {
            int timeId = id;

            //Set time
            var now = preUni.getCurrentTime();

            string branchName;
            int    branchCode;

            using (NCBranch db = new NCBranch())
            {
                using (Db dbUser = new Db())
                {
                    var user = dbUser.Users.Find(User.Identity.Name);
                    branchCode = user.BranchCode;
                    branchName = user.BranchName;
                }
                var booking = db.Bookings.Where(x => x.BranchCode == branchCode).OrderByDescending(x => x.BookDate).FirstOrDefault();
                booking.UpdateDate = now;
                booking.ScanTimeID = id;
                db.SaveChanges();
                preUni.logging(User.Identity.Name, "Booking change : " + booking.BookDate + booking.ScanTimeID);
            }
            return(Json(new { success = true, message = "Booking changed", branchName = branchName }));
        }
示例#2
0
        //
        // GET: /Booking/Index
        public ActionResult Index()
        {
            using (NCBranch db = new NCBranch())
            {
                ViewBag.Stime = db.STimes.ToList();
                //Set reserve after last friday(5) 22:00
                DayOfWeek desiredDay     = DayOfWeek.Friday;
                int       offsetAmount   = (int)desiredDay - (int)DateTime.Now.DayOfWeek;
                int       standardHour   = 22;
                int       standardMinute = 00;
                ViewBag.Time = standardHour.ToString("D2") + ":" + standardMinute.ToString("D2");

                var current      = preUni.getCurrentTime();
                var standardTime = new DateTime(current.Year, current.Month, current.Day, standardHour, standardMinute, 00);

                var lastWeekStandardTime = standardTime.AddDays(-7 + offsetAmount);
                var thisWeekStandardTime = standardTime.AddDays(offsetAmount);
                var nextWeekStandardTime = standardTime.AddDays(7 + offsetAmount);
                List <BranchBookingVM> branchBookingVM;

                if (current.DayOfWeek > desiredDay || (current.DayOfWeek == desiredDay && current.Hour >= standardHour && current.Minute >= standardMinute))
                {
                    //금요일 10시 이후, 토, 일
                    //날짜 : 다음주 금요일
                    //조회 : 이번주 금~다음주 금
                    ViewBag.BookDate = nextWeekStandardTime;
                    branchBookingVM  = db.Bookings.ToArray().Where(x => x.CreateDate >= thisWeekStandardTime && x.CreateDate <= nextWeekStandardTime).Select(x => new BranchBookingVM(x)).ToList();
                }
                else
                {
                    //월~ 금요일 10시 이전
                    //날짜 : 이번주 금요일
                    //조회 : 저번주 금 ~ 이번주 금
                    ViewBag.BookDate = thisWeekStandardTime;
                    branchBookingVM  = db.Bookings.ToArray().Where(x => x.CreateDate >= lastWeekStandardTime && x.CreateDate <= thisWeekStandardTime).Select(x => new BranchBookingVM(x)).ToList();
                }


                using (Db userdb = new Db())
                {
                    foreach (var item in branchBookingVM)
                    {
                        item.BranchName = userdb.Users.Where(x => x.BranchCode == item.BranchCode).FirstOrDefault().BranchName;
                    }
                }


                return(View(branchBookingVM));
            }
        }
示例#3
0
        public JsonResult MakeBooking(int id)
        {
            int timeId = id;

            //Set time
            var now = preUni.getCurrentTime();

            //Get this friday(5)
            DayOfWeek desiredDay   = DayOfWeek.Friday;
            int       offsetAmount = (int)desiredDay - (int)DateTime.Now.DayOfWeek;
            var       bookDate     = new DateTime(now.Year, now.Month, now.Day).AddDays(offsetAmount);

            string branchName;

            using (NCBranch db = new NCBranch())
            {
                var booking = new BranchBookingDTO()
                {
                    ScanTimeID = timeId,
                    BookDate   = bookDate,
                    CreateDate = now,
                };
                using (Db dbUser = new Db()){
                    var user = dbUser.Users.Find(User.Identity.Name);
                    booking.BranchCode = user.BranchCode;
                    branchName         = user.BranchName;
                }
                if (booking.BranchCode == 4)
                {
                    return(Json(new { success = false, message = "Only branch can book.", branchName = branchName }));
                }
                if (db.Bookings.Any(x => x.BookDate == bookDate && x.ScanTimeID == booking.ScanTimeID))
                {
                    return(Json(new { success = false, message = "This time is aready booked.", branchName = branchName }));
                }
                db.Bookings.Add(booking);
                preUni.logging(User.Identity.Name, "Booking : " + booking.BookDate + booking.ScanTimeID);
                db.SaveChanges();
            }
            return(Json(new { success = true, message = "Booking succeed.", branchName = branchName }));
        }