示例#1
0
        public ActionResult EditVehicle(VehicleEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var vehicleRepo = VehicleFactory.GetVehicleRepository();


                model.vehicle.UserId = GetUserId();

                var oldVehicle = vehicleRepo.GetVehicleDetails(model.vehicle.VehicleId);

                if (model.ImageUpload != null && model.ImageUpload.ContentLength != 0)
                {
                    var savepath = Server.MapPath("~/Images");

                    string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                    string extension = Path.GetExtension(model.ImageUpload.FileName);
                    var    filePath  = Path.Combine(savepath, fileName + extension);

                    while (System.IO.File.Exists(filePath))
                    {
                        filePath = Path.Combine(savepath, "inventory-" + model.vehicle.VehicleId + extension);
                    }

                    WebImage img = new WebImage(model.ImageUpload.InputStream);
                    img.Resize(150, 100, preserveAspectRatio: false, preventEnlarge: true).Crop(1, 1);
                    img.Save(filePath);

                    model.vehicle.PictureFileName = Path.GetFileName(filePath);

                    var oldPath = Path.Combine(savepath, oldVehicle.PictureFileName);

                    if (System.IO.File.Exists(oldPath))
                    {
                        System.IO.File.Delete(oldPath);
                    }
                }

                else
                {
                    //Did not replace the old file, so keep it
                    model.vehicle.PictureFileName = oldVehicle.PictureFileName;
                }
                vehicleRepo.UpdateVehicle(model.vehicle);

                return(RedirectToAction("Vehicles"));
            }
            else
            {
                var modelEdit = new VehicleEditViewModel();
                modelEdit.UserId = GetUserId();
                var repo = VehicleFactory.GetVehicleRepository();
                modelEdit         = modelEdit.GetLists();
                modelEdit.vehicle = repo.GetVehicle(model.vehicle.VehicleId);

                return(View(modelEdit));
            }
        }
示例#2
0
        public ActionResult EditVehicle(int id)
        {
            var model = new VehicleEditViewModel();

            model         = model.GetLists();
            model.UserId  = GetUserId();
            model.vehicle = VehicleFactory.GetVehicleRepository().GetVehicle(id);


            return(View(model));
        }