public async Task <IActionResult> Edit(string roomid, string startTime, [Bind("RoomID,StartTime,StaffID,StudentID")] Slot slot) { if (ModelState.IsValid) { try { _context.Update(slot); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SlotExists(slot.RoomID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["RoomID"] = new SelectList(_context.Room, "RoomID", "RoomName", slot.RoomID); ViewData["StaffID"] = new SelectList(_context.Staff, "StaffID", "StaffID", slot.StaffID); ViewData["StudentID"] = new SelectList(_context.Student, "StudentID", "StudentID", slot.StudentID); return(View(slot)); }
public async Task <IActionResult> Edit(string id, [Bind("AdminID,FirstName,LastName,Email")] Admin admin) { if (id != admin.AdminID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(admin); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AdminExists(admin.AdminID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(admin)); }
public async Task <IActionResult> Book(string roomID, DateTime startTime) { var slot = _context.Slot.FirstOrDefault(s => s.RoomID == roomID && s.StartTime == startTime); // get current logged in user ApplicationUser currentUser = _context.ApplicationUser .FirstOrDefault(u => u.Email == HttpContext.User.Identity.Name); // check if the student has booked the maximum slots for the given date var studentBookedMaxForDate = _context.Slot .FirstOrDefault(x => x.StartTime.Date == startTime.Date && x.StudentID == currentUser.Id) != null; if ((slot.StudentID == null) && (!studentBookedMaxForDate)) { slot.StudentID = currentUser.Id; } else if (slot.StudentID == currentUser.Id) { slot.StudentID = null; } _context.Update(slot); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Edit(string id, [Bind("RoomID,RoomName")] Room room) { if (id != room.RoomID) { return(NotFound()); } if (ModelState.IsValid) { try { if (_context.Room.Any(r => (r.RoomName == room.RoomName) && (r.RoomID != room.RoomID))) { ModelState.AddModelError("", "Room name has already exist"); return(View(room)); } else { room.RoomName = room.RoomName.ToUpper(); _context.Update(room); await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { if (!RoomExists(room.RoomID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(room)); }