public ActionResult Success(RideSuccessForm 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("Success", 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); var location = new Location(form); ride.Update(form); driver.IsDriverBusy = false; var updatedUser = new AppUser(); updatedUser.GetLoginData(driver); Session["User"] = updatedUser; db.SaveChanges(); return(RedirectToAction("Home", "Home")); }
public Location(RideSuccessForm form) { Longitude = form.Longitude; Latitude = form.Latitude; Street = form.Street; StreetNumber = form.StreetNumber; City = form.City; PostalCode = form.PostalCode; }
public ActionResult Success(int id) { var user = (AppUser)Session["User"]; if (user == null) { return(RedirectToAction("SignIn", "Login")); } if (user.Role != UserRole.Driver) { return(new HttpUnauthorizedResult()); } var successForm = new RideSuccessForm(id); return(View(successForm)); }
public void Update(RideSuccessForm form) { Destination = new Location(form); Price = form.Price; Status = RideStatus.Successful; }