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 })); }
// // 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)); } }
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 })); }