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"));
        }
Beispiel #2
0
 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;
 }