public ActionResult Fail(RideFailForm form) { var user = (AppUser)Session["User"]; if (user == null) { return(RedirectToAction("SignIn", "Login")); } if (user.Role != UserRole.Driver) { return(new HttpUnauthorizedResult()); } if (!ModelState.IsValid) { return(View("Fail", form)); } var ride = db.Rides.Include(r => r.Driver).SingleOrDefault(r => r.Id == form.RideId); var driver = db.AppUsers.SingleOrDefault(u => u.Id == ride.Driver.Id); ride.Update(form); driver.IsDriverBusy = false; var updatedUser = new AppUser(); updatedUser.GetLoginData(driver); Session["User"] = updatedUser; db.SaveChanges(); return(RedirectToAction("Home", "Home")); }
public Comment(RideFailForm form, AppUser commenter, Ride ride) { Description = form.Description; CreationDate = DateTime.Now; Commenter = commenter; Ride = ride; Rating = form.Rating; }
public ActionResult Fail(int id) { var user = (AppUser)Session["User"]; if (user == null) { return(RedirectToAction("SignIn", "Login")); } if (user.Role != UserRole.Driver) { return(new HttpUnauthorizedResult()); } var failForm = new RideFailForm(id); return(View(failForm)); }
public void Update(RideFailForm form) { Comment = new Comment(form, Driver, this); Status = RideStatus.Failed; }