public ActionResult Delete(Reservation model) { using (ai_databaseEntities de = new ai_databaseEntities()) { Reservation delRes = de.Reservation.Where(x => x.Id.Equals(model.Id)).FirstOrDefault(); if (delRes != null) { de.Reservation.Remove(delRes); de.SaveChanges(); } } return(RedirectToAction("ViewReservations", "Reservation")); }
public ActionResult VerifyAccount(string id) { bool status = false; using (ai_databaseEntities de = new ai_databaseEntities()) { de.Configuration.ValidateOnSaveEnabled = false; var v = de.User.Where(a => a.ActivationCode == new Guid(id)).FirstOrDefault(); if (v != null) { v.isEmailVerified = true; de.SaveChanges(); status = true; } else { ViewBag.Message = "Invalid Request"; } } ViewBag.Status = true; return(View()); }
public ActionResult AddReservation(Reservation model) { string message = ""; bool status = false;; #region Create new object of reservation and assign properties Reservation res = new Reservation(); res.dateFrom = model.reservationDate.Add(model.startTime.TimeOfDay); res.dateTo = model.reservationDate.Add(model.endTime.TimeOfDay); if (model.description == null) { res.description = "No description"; } else { res.description = model.description; } res.roomId = model.roomId; res.subjectId = model.subjectId; res.teacherId = LoggedOnUser.loggedOnUserID; #endregion #region Check if Room and Subject were selected if (model.roomId == 0 || model.subjectId == 0) { message = "Please provide correct room and subject!"; TempData["resCreationMessage"] = message; TempData["resCreationStatus"] = status; return(RedirectToAction("IndexTeacher", "Home")); } #endregion #region Check if selected date is future if (res.dateFrom.CompareTo(DateTime.Now) <= 0) { message = "You must select future date!"; TempData["resCreationMessage"] = message; TempData["resCreationStatus"] = status; return(RedirectToAction("IndexTeacher", "Home")); } #endregion #region Check if start hours are before end hours if (res.dateFrom.CompareTo(res.dateTo) > 0) { message = "Start time must be before end time!"; TempData["resCreationMessage"] = message; TempData["resCreationStatus"] = status; return(RedirectToAction("IndexTeacher", "Home")); } #endregion #region Check if room is free at selected time if (!isRoomFree(res)) { message = "Selected room is reserved at this time!"; TempData["resCreationMessage"] = message; TempData["resCreationStatus"] = status; return(RedirectToAction("IndexTeacher", "Home")); } #endregion #region Check if user(teacher) does not have any other classes at this time if (!isTeacherFree(res)) { message = "You have classes at this time!"; TempData["resCreationMessage"] = message; TempData["resCreationStatus"] = status; return(RedirectToAction("IndexTeacher", "Home")); } #endregion #region Add reservation to db using (ai_databaseEntities de = new ai_databaseEntities()) { res.Room = de.Room.Where(x => x.Id.Equals(res.roomId)).FirstOrDefault(); res.Subject = de.Subject.Where(x => x.Id.Equals(res.subjectId)).FirstOrDefault(); try { de.Reservation.Add(res); de.SaveChanges(); } catch (DbEntityValidationException dbEx) { message = dbEx.Message; status = false; return(RedirectToAction("IndexTeacher", "Home")); } } #endregion status = true; message = "Reservation succesfully created"; TempData["resCreationMessage"] = message; TempData["resCreationStatus"] = status; return(RedirectToAction("IndexTeacher", "Home")); }
public ActionResult Edit(Reservation model) { string message = ""; bool status = false; #region Create new object of reservation and assign properties model.dateFrom = model.reservationDate.Add(model.startTime.TimeOfDay); model.dateTo = model.reservationDate.Add(model.endTime.TimeOfDay); if (model.description == null) { model.description = "No description"; } model.roomId = model.roomId; model.subjectId = model.subjectId; model.teacherId = LoggedOnUser.loggedOnUserID; #endregion #region Check if Room and Subject were selected if (model.roomId == 0 || model.subjectId == 0) { message = "Please provide correct room and subject!"; TempData["resEditMessage"] = message; TempData["resEditStatus"] = status; return(RedirectToAction("ViewReservations", "Reservation")); } #endregion #region Check if selected date is future if (model.dateFrom.CompareTo(DateTime.Now) <= 0) { message = "You must select future date!"; TempData["resEditMessage"] = message; TempData["resEditStatus"] = status; return(RedirectToAction("ViewReservations", "Reservation")); } #endregion #region Check if start hours are before end hours if (model.dateFrom.CompareTo(model.dateTo) > 0) { message = "Start time must be before end time!"; TempData["resEditMessage"] = message; TempData["resEditStatus"] = status; return(RedirectToAction("ViewReservations", "Reservation")); } #endregion #region Check if room is free at selected time if (!isRoomFree(model)) { message = "Selected room is reserved at this time!"; TempData["resEditMessage"] = message; TempData["resEditStatus"] = status; return(RedirectToAction("ViewReservations", "Reservation")); } #endregion #region Check if user(teacher) does not have any other classes at this time if (!isTeacherFree(model)) { message = "You have classes at this time!"; TempData["resEditMessage"] = message; TempData["resEditStatus"] = status; return(RedirectToAction("ViewReservations", "Reservation")); } #endregion #region Edit reservation using (ai_databaseEntities de = new ai_databaseEntities()) { model.Room = de.Room.Where(x => x.Id.Equals(model.roomId)).FirstOrDefault(); model.Subject = de.Subject.Where(x => x.Id.Equals(model.subjectId)).FirstOrDefault(); de.Entry(model).State = System.Data.Entity.EntityState.Modified; de.SaveChanges(); } #endregion status = true; message = "Reservation succesfully edited"; TempData["resEditMessage"] = message; TempData["resEditStatus"] = status; return(RedirectToAction("ViewReservations", "Reservation")); }
public ActionResult Registration([Bind(Exclude = "IsEmailVerified,ActivationCode")] User user) { bool Status = false; string message = String.Empty; //Model validation if (ModelState.IsValid) { #region Login is already used var loginExists = IsLoginUsed(user.login); if (loginExists) { ModelState.AddModelError("LoginExists", "Login already exist"); return(View(user)); } #endregion #region Email is already used var emailExists = IsEmailUsed(user.email); if (emailExists) { ModelState.AddModelError("EmailExists", "Email already exist"); return(View(user)); } #endregion #region Generate Activation Code user.ActivationCode = Guid.NewGuid(); #endregion #region Password Hashing user.password = Crypto.Hash(user.password); user.ConfirmPassword = Crypto.Hash(user.ConfirmPassword); #endregion user.isEmailVerified = false; user.isTeacher = false; #region Save data to database using (ai_databaseEntities de = new ai_databaseEntities()) { de.User.Add(user); de.SaveChanges(); #region Send email to user SendVerificationLinkEmail(user.email, user.ActivationCode.ToString()); message = "Registration successfully done. Account activation link has been sent to your email:" + user.email; Status = true; #endregion } #endregion } else { message = "Invalid request"; } ViewBag.Message = message; ViewBag.Status = Status; return(View(user)); }