public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ParkedVehicle parkedVehicle = db.ParkedVehicle.Find(id);

            if (parkedVehicle == null)
            {
                return(HttpNotFound());
            }

            var editViewModel = new ViewModels.EditViewModel(parkedVehicle);

            editViewModel.VehicleTypes = db.VehicleType.ToList().Select(v => new SelectListItem
            {
                Selected = (v.Id == parkedVehicle.VehicleTypeId),
                Value    = v.Id.ToString(),
                Text     = v.Name
            });

            editViewModel.Members = db.Member.ToList().Select(v => new SelectListItem
            {
                Selected = (v.Id == parkedVehicle.MemberId),
                Value    = v.Id.ToString(),
                Text     = v.FullName
            });

            return(View(editViewModel));
        }
        public ActionResult EditPost(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var vehicleToUpdate = db.ParkedVehicle.Find(id);

            if (TryUpdateModel(vehicleToUpdate, "",
                               new string[] { "Id", "VehicleTypeId", "MemberId", "RegNo", "Color", "Brand", "Model", "NumberOfWheels" }))
            {
                ParkedVehicle alreadyParkedVehicle = db.ParkedVehicle
                                                     .Where(v => v.Id != vehicleToUpdate.Id)
                                                     .FirstOrDefault(v => v.RegNo.ToLower() == vehicleToUpdate.RegNo.ToLower());
                if (alreadyParkedVehicle != null)
                {
                    ModelState.AddModelError(string.Empty, $"Fordon med registreringsnummer {alreadyParkedVehicle.RegNo} finns redan");
                }


                if (ModelState.IsValid)
                {
                    try
                    {
                        db.SaveChanges();
                        var detailViewModel = new ViewModels.DetailsViewModel(vehicleToUpdate);
                        return(View("Details", detailViewModel));
                    }
                    catch (DataException /* dex */)
                    {
                        //Log the error (uncomment dex variable name and add a line here to write a log.
                        ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
                    }
                }
            }

            var editViewModel = new ViewModels.EditViewModel(vehicleToUpdate);

            editViewModel.VehicleTypes = db.VehicleType.ToList().Select(v => new SelectListItem
            {
                Selected = (v.Id == vehicleToUpdate.VehicleTypeId),
                Value    = v.Id.ToString(),
                Text     = v.Name
            });

            editViewModel.Members = db.Member.ToList().Select(v => new SelectListItem
            {
                Selected = (v.Id == vehicleToUpdate.MemberId),
                Value    = v.Id.ToString(),
                Text     = v.FullName
            });
            return(View(editViewModel));
        }
Exemplo n.º 3
0
        public Member Update(ViewModels.EditViewModel model)
        {
            Member member = GetALL().Include(x => x.Member_Profile).Single(x => x.MemberID == model.MemberID);

            db.Attach <Member>(member);
            member.GroupID  = model.GroupID;
            member.AvtarUrl = model.AvtarUrl;
            var cityCode = 0;

            if (!string.IsNullOrEmpty(model.CityCode))
            {
                cityCode = Convert.ToInt32(model.CityCode.Split(',').Last());
            }
            member.Member_Profile.CityCode      = cityCode;
            member.Member_Profile.CityCodeValue = model.CityCode;
            member.Member_Profile.Sex           = model.Sex;
            member.Member_Profile.Borthday      = model.Borthday;
            member.Member_Profile.Description   = model.Description;
            db.Commit();
            return(member);
        }