コード例 #1
0
        public ActionResult Create([Bind(Include = "ID,OwnerID,RegistrationPlate,VehicleTypeID")] Vehicle vehicle,
                                   string originActionName,
                                   string originControllerName)
        {
            if (ModelState.IsValid)
            {
                // Check that the registration plate is still unique
                if (db.VehicleByRegistrationPlate(vehicle.RegistrationPlate) != null)
                {
                    ViewBag.SelectVehicleTypes = PopulateSelectLists.PopulateVehicleTypes(vehicle.VehicleTypeID);
                    ViewBag.SelectOwners       = PopulateSelectLists.PopulateOwners(vehicle.OwnerID);

                    return(View(new CreateVehicleVM
                    {
                        Vehicle = vehicle,
                        OriginControllerName = originControllerName,
                        OriginActionName = originActionName,
                        ErrorMessage = "A vehicle with the same registration plate already exists!"
                    }));
                }

                vehicle.RegistrationPlate = vehicle.RegistrationPlate.ToUpper();

                db.Add(vehicle);
                return(RedirectToAction(originActionName, originControllerName, new SelectAVehicleVM
                {
                    VehicleID = vehicle.ID
                }));
            }

            ViewBag.SelectVehicleTypes = PopulateSelectLists.PopulateVehicleTypes(vehicle.VehicleTypeID);
            ViewBag.SelectOwners       = PopulateSelectLists.PopulateOwners(vehicle.OwnerID);

            return(View(new CreateVehicleVM
            {
                Vehicle = vehicle,
                OriginControllerName = originControllerName,
                OriginActionName = originActionName
            }));
        }