예제 #1
0
 public ActionResult archiveUser([Bind(Include = "bikeUserId")] bikeUser user)
 {
     if (!authorize())
     {
         return(new HttpStatusCodeResult(System.Net.HttpStatusCode.Unauthorized));
     }
     context.BikeUser.Find(user.bikeUserId).isArchived = !context.BikeUser.Find(user.bikeUserId).isArchived;
     context.SaveChanges();
     return(RedirectToAction("Index"));
 }
예제 #2
0
        public ActionResult userEdit(int userId, [Bind(Include = "phoneNumber,email,firstName,lastName")] bikeUser user)
        {
            var old = context.BikeUser.Find(userId);

            old.phoneNumber = user.phoneNumber;
            old.email       = user.email;
            old.firstName   = user.firstName;
            old.lastName    = user.lastName;
            context.SaveChanges();
            return(RedirectToAction("Index", "Explore"));
        }
예제 #3
0
        public ActionResult checkOutBike(int rackId, [Bind] BikeShare.ViewModels.CheckoutViewModel model)
        {
            if (!authorize())
            {
                return(RedirectToAction("authError", "Error"));
            }
            try
            {
                Bike bike = context.Bike.Find(model.selectedBikeForCheckout);
                bike.lastCheckedOut = DateTime.Now;
                CheckOut check = new CheckOut
                {
                    bike           = bike.bikeId,
                    isResolved     = false,
                    rackCheckedOut = rackId,
                    timeOut        = DateTime.Now,
                };

                bikeUser rider           = context.BikeUser.Where(n => n.userName == model.userToCheckIn).First();
                bikeUser dcheckOutPerson = context.BikeUser.Where(n => n.userName == User.Identity.Name).First();
                if (!rider.canBorrowBikes || context.CheckOut.Where(u => u.rider == rider.bikeUserId).Where(u => !u.timeIn.HasValue).Count() > 0)
                {
                    return(RedirectToAction("Index", new { rackId = rackId, message = "The user doesn't have riding privileges." }));
                }
                if (rider.lastRegistered.AddDays(context.settings.First().daysBetweenRegistrations) < DateTime.Now)
                {
                    return(RedirectToAction("Index", new { rackId = rackId, message = "The user's registration is out of date. Please remind them to register." }));
                }
                bike.bikeRackId      = null;
                check.rider          = rider.bikeUserId;
                check.checkOutPerson = dcheckOutPerson.bikeUserId;
                context.CheckOut.Add(check);
                context.SaveChanges();
                Mailing.queueCheckoutNotice(rider.email, DateTime.Now.AddHours(24));
            }
            catch (System.InvalidOperationException)
            {
                return(RedirectToAction("Index", new { rackId = rackId, message = "That user isn't in the system." }));
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException)
            {
                return(RedirectToAction("Index", new { rackId = rackId, message = "Checkout didn't validate. Sorry." }));
            }
            return(RedirectToAction("Index", new { rackId = rackId, message = "Checkout successful!" }));
        }
예제 #4
0
        public ActionResult userEdit([Bind] bikeUser user)
        {
            if (!authorize())
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.Unauthorized));
            }
            var dUser = context.BikeUser.Find(user.bikeUserId);

            dUser.canAdministerSite = user.canAdministerSite;
            dUser.canBorrowBikes    = user.canBorrowBikes;
            dUser.canCheckOutBikes  = user.canCheckOutBikes;
            dUser.canMaintainBikes  = user.canMaintainBikes;
            dUser.email             = user.email;
            dUser.firstName         = user.firstName;
            dUser.lastName          = user.lastName;
            dUser.isArchived        = user.isArchived;
            dUser.phoneNumber       = user.phoneNumber;
            context.SaveChanges();
            return(RedirectToAction("userDetails", new { userId = user.bikeUserId }));
        }