コード例 #1
0
        public ActionResult Edit(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(StatusCode(404));
            }

            var ride = this.ridesManager.GetItem(id) as Ride;

            if (ride == null)
            {
                return(StatusCode(404));
            }

            var userIdClaim = this.User.Claims.FirstOrDefault(f => f.Type == ClaimTypes.NameIdentifier);

            if (ride.DriverId.ToString() != userIdClaim.Value)
            {
                return(StatusCode(403));
            }

            var viewModel = new EditRideViewModel();

            viewModel.ToCity                = ride.ToCity;
            viewModel.FromCity              = ride.FromCity;
            viewModel.TravelDate            = ride.TravelDate;
            viewModel.FreeSeats             = ride.FreePlaces;
            viewModel.Price                 = ride.Price;
            viewModel.AdditionalInformation = ride.AdditionalInformation;
            viewModel.Id = ride.Id;

            return(View(viewModel));
        }
コード例 #2
0
        public IActionResult Edit(EditRideViewModel model)
        {
            if (ModelState.IsValid)
            {
                var ride = this.ridesManager.GetItem(model.Id) as Ride;

                if (ride != null)
                {
                    ride.FromCity              = model.FromCity;
                    ride.ToCity                = model.ToCity;
                    ride.TravelDate            = model.TravelDate;
                    ride.FreePlaces            = model.FreeSeats.Value;
                    ride.Price                 = model.Price.Value;
                    ride.AdditionalInformation = model.AdditionalInformation;
                }

                this.ridesManager.UpdateItem(ride);
                this.ridesManager.SaveChanges();

                return(RedirectToAction("Manage", "Rides"));
            }
            return(View(model));
        }