コード例 #1
0
        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"));
        }
コード例 #2
0
 public Comment(RideFailForm form, AppUser commenter, Ride ride)
 {
     Description  = form.Description;
     CreationDate = DateTime.Now;
     Commenter    = commenter;
     Ride         = ride;
     Rating       = form.Rating;
 }
コード例 #3
0
        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));
        }
コード例 #4
0
 public void Update(RideFailForm form)
 {
     Comment = new Comment(form, Driver, this);
     Status  = RideStatus.Failed;
 }