public EditVehiclePresenter(EditVehicleModel model, IVehicle view) { this.model = model; this.view = view; view.SelectVehicles += PresenterSelectVehicles; view.UpdateVehicleInfo += PresenterUpdateVehicleInfo; }
public JsonResult EditVehicle([FromBody] EditVehicleModel vehicle) { string id = Constant.GetUserID(); var Response = SQL.UpdateVehicle(vehicle, id); return(Json(Response, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> EditVehicleAPI(int id, EditVehicleModel updateModel) { var userId = this.User.Identity.GetUserId(); var currentUser = this.Service <IUserService>().Get(userId); var errorMessage = ValidateVehicleEditing(updateModel, currentUser); if (errorMessage != null) { return(Json(new { message = errorMessage })); } var vehicleService = this.Service <IVehicleService>(); var currentUserID = User.Identity.GetUserId(); var vehicleEntity = vehicleService.Get(v => v.ID == id && v.Garage.OwnerID == currentUserID).FirstOrDefault(); if (vehicleEntity == null) { return(new HttpStatusCodeResult(404, "Không tìm thấy xe.")); } Mapper.Map <EditVehicleModel, Vehicle>(updateModel, vehicleEntity); await vehicleService.UpdateAsync(vehicleEntity); return(new HttpStatusCodeResult(200, "Updated successfully.")); }
public ActionResult Edit(int id) { var v = SVD.Controller.Instance.VehicleController.GetVehicle(id); if (v == null) { Helpers.AddPageMessage("No such vehicle found!", PageMessageType.Error); RedirectToAction("Index"); } if (!Helpers.UserHasVehicleControlRights(v)) { Helpers.AddPageMessage("You shouldn't be there!", PageMessageType.Error); RedirectToAction("Index", "Home"); } var m = new EditVehicleModel { Title = v.Title, Description = v.Description, IsLocationSensitive = v.IsLocationApproximate, PoliceForce = v.PoliceForce, PolicePhoneNumber = v.PolicePhoneNumber, PoliceReference = v.PoliceReference, Registration = v.Registration, TheftDescription = v.TheftDescription, TheftMethodId = v.TheftMethod.Id.ToString(), VehicleManufacturerId = v.Model.ManufacturerId.ToString(), VehicleModelId = v.Model.Id.ToString(), VehicleTypeId = v.Model.Type.Id.ToString(), Vin = v.Vin, EngineNumber = v.EngineNumber, Year = v.Year.ToString() }; if (v.Colour != null) { m.ColourId = v.Colour.Id.ToString(); } if (v.TheftDate.HasValue) { m.TheftDate = v.TheftDate.Value.ToString("dd MMMM yyyy"); } m.VehicleSecurityTypeCsv = ","; foreach (var vst in v.SecurityTypes) { m.VehicleSecurityTypeCsv += vst.Id + ","; } if (v.TheftLatitude.HasValue && v.TheftLongitude.HasValue) { m.TheftLocationLat = v.TheftLatitude.Value.ToString(); m.TheftLocationLong = v.TheftLongitude.Value.ToString(); } return(View(m)); }
public void ShowEditVehicle() { var view = new EditVehicle(this); var model = new EditVehicleModel(session); var presenter = new EditVehiclePresenter(model, view); ShowControl(view); }
public ActionResult Edit(int id) { var model = new EditVehicleModel(); var repo = VehicleRepositoryFactory.GetRepository(); model.Vehicle = repo.GetVehicle(id); var MakesRepo = MakeRepositoryFactory.GetRepository(); model.Makes = new SelectList(MakesRepo.GetAll(), "MakeID", "Make"); var ModelsRepo = ModelRepositoryFactory.GetRepository(); model.Models = new SelectList(ModelsRepo.GetSelected(model.Vehicle.MakeID), "ModelID", "Model"); return(View(model)); }
// Check entity on editing public string ValidateVehicleEditing(EditVehicleModel vehicle, AspNetUser currentUser) { if (vehicle.LicenseNumber.Length > 50) { return("Biển số xe phải dưới 50 ký tự."); } if (vehicle.Name.Length > 100) { return("Tên xe phải dưới 100 ký tự."); } if (currentUser.Garages.All(g => g.ID != vehicle.GarageID)) { return("Garage không tồn tại."); } if (vehicle.VehicleGroupID.HasValue && currentUser.VehicleGroups.All(g => g.ID != vehicle.VehicleGroupID)) { return("Nhóm xe không tồn tại."); } if (vehicle.TransmissionDetail != null && vehicle.TransmissionDetail.Length > 100) { return("Chi tiết hộp số phải dưới 100 ký tự."); } if (vehicle.Engine != null && vehicle.Engine.Length > 100) { return("Chi tiết động cơ phải dưới 100 ký tự."); } if (vehicle.Description != null && vehicle.Description.Length > 1000) { return("Mô tả xe phải dưới 1000 ký tự."); } if (!Models.Constants.COLOR.ContainsKey(vehicle.Color)) { return("Mã màu không hợp lệ."); } return(null); }
public MessageResult UpdateVehicle(EditVehicleModel vehicle, string id) { int i = 0; MessageResult swResponse = new MessageResult(); try { using (SqlConnection conn = new SqlConnection(DBConn)) { string sql = "UPDATE Vehicles SET VehicleRegistration=@VRegNO,VehicleType=@VType,VehicleCapacity=@VCapacity, FuelConsumption=@FuelConsumption,UpdatedBy=@UpdatedBy,UpdatedAt=@UpdatedAt where ID=@ID"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { conn.Open(); cmd.Parameters.AddWithValue("@ID", vehicle.ID); cmd.Parameters.AddWithValue("@VRegNO", vehicle.VehicleRegistration); cmd.Parameters.AddWithValue("@VType", vehicle.VehicleType); cmd.Parameters.AddWithValue("@VCapacity", vehicle.VehicleCapacity); cmd.Parameters.AddWithValue("@FuelConsumption", vehicle.FuelConsumption); cmd.Parameters.AddWithValue("@UpdatedBy", id); cmd.Parameters.AddWithValue("@UpdatedAt", DateTime.Now); i = cmd.ExecuteNonQuery(); conn.Close(); } } } catch (Exception ex) { i = 0; } if (i == 0) { swResponse.Status = "warning"; swResponse.Message = "Failed to Insert. Try Again"; } else { swResponse.Status = "success"; swResponse.Message = "Vehicle Updated Successfully"; } return(swResponse); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Abrv,MakeId")] EditVehicleModel editVehicleModel) { if (id != editVehicleModel.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var vehicleModel = _mapper.Map <EditVehicleModel, VehicleModel>(editVehicleModel); await _vehicleModelService.UpdateVehicleModelAsync(vehicleModel); } catch (Exception) { return(RedirectToAction("Error", "Home")); } return(RedirectToAction(nameof(Index), new { makeId = editVehicleModel.MakeId })); } return(View(editVehicleModel)); }
public ActionResult Edit(int id, EditVehicleModel model) { if (!ModelState.IsValid) { return(View(model)); } var v = SVD.Controller.Instance.VehicleController.GetVehicle(id); if (v == null) { Helpers.AddPageMessage("No such vehicle found!", PageMessageType.Error); RedirectToAction("Index"); } if (!Helpers.UserHasVehicleControlRights(v)) { Helpers.AddPageMessage("You shouldn't be there!", PageMessageType.Error); RedirectToAction("Index", "Home"); } // do the updates. v.Status = (VehicleStatus)byte.Parse(model.StatusId); v.Description = model.Description; v.IsLocationApproximate = false; v.Model = SVD.Controller.Instance.MakesAndModelsController.GetModel(int.Parse(model.VehicleModelId)).Model; v.PoliceForce = model.PoliceForce; v.PolicePhoneNumber = model.PolicePhoneNumber; v.PoliceReference = model.PoliceReference; v.Registration = model.Registration; v.SecurityTypes = model.VehicleSecurityTypesChosen; v.TheftDescription = model.TheftDescription; v.TheftMethod = SVD.Controller.Instance.VehicleController.GetTheftMethod(int.Parse(model.TheftMethodId)); v.Vin = model.Vin; v.EngineNumber = model.EngineNumber; v.Year = int.Parse(model.Year); v.Colour = !string.IsNullOrEmpty(model.ColourId) ? SVD.Controller.Instance.VehicleController.GetColour(int.Parse(model.ColourId)) : null; DateTime date; if (DateTime.TryParse(model.TheftDate, out date)) { v.TheftDate = date; } #region location if (!string.IsNullOrEmpty(model.TheftLocationLat) && !string.IsNullOrEmpty(model.TheftLocationLong)) { var newLat = decimal.Parse(model.TheftLocationLat); var newLong = decimal.Parse(model.TheftLocationLong); if (v.TheftLatitude != newLat || v.TheftLongitude != newLong) { v.TheftLatitude = newLat; v.TheftLongitude = newLong; // clear the places. v.TheftLocationPlaces.Clear(); // create a place object for each location type we're aware of from Google. if (!string.IsNullOrEmpty(model.TheftLocationCountry)) { var pos = model.TheftLocationCountryPos.Split(','); v.TheftLocationPlaces.Add(new Place(ObjectMode.New) { Type = PlaceType.Country, Code = model.TheftLocationCountryCode, Name = model.TheftLocationCountry, Latitude = double.Parse(pos[0]), Longitude = double.Parse(pos[1]) }); } if (!string.IsNullOrEmpty(model.TheftLocationAdministrativeAreaLevel1)) { var pos = model.TheftLocationAdministrativeAreaLevel1Pos.Split(','); v.TheftLocationPlaces.Add(new Place(ObjectMode.New) { Type = PlaceType.AdministrativeAreaLevel1, Name = model.TheftLocationAdministrativeAreaLevel1, Latitude = double.Parse(pos[0]), Longitude = double.Parse(pos[1]) }); } if (!string.IsNullOrEmpty(model.TheftLocationAdministrativeAreaLevel2)) { var pos = model.TheftLocationAdministrativeAreaLevel2Pos.Split(','); v.TheftLocationPlaces.Add(new Place(ObjectMode.New) { Type = PlaceType.AdministrativeAreaLevel2, Name = model.TheftLocationAdministrativeAreaLevel2, Latitude = double.Parse(pos[0]), Longitude = double.Parse(pos[1]) }); } if (!string.IsNullOrEmpty(model.TheftLocationRoute)) { var pos = model.TheftLocationRoutePos.Split(','); v.TheftLocationPlaces.Add(new Place(ObjectMode.New) { Type = PlaceType.Route, Name = model.TheftLocationRoute, Latitude = double.Parse(pos[0]), Longitude = double.Parse(pos[1]) }); } if (!string.IsNullOrEmpty(model.TheftLocationSubLocality)) { var pos = model.TheftLocationSubLocalityPos.Split(','); v.TheftLocationPlaces.Add(new Place(ObjectMode.New) { Type = PlaceType.SubLocality, Name = model.TheftLocationSubLocality, Latitude = double.Parse(pos[0]), Longitude = double.Parse(pos[1]) }); } if (!string.IsNullOrEmpty(model.TheftLocationLocality)) { var pos = model.TheftLocationLocalityPos.Split(','); v.TheftLocationPlaces.Add(new Place(ObjectMode.New) { Type = PlaceType.Locality, Name = model.TheftLocationLocality, Latitude = double.Parse(pos[0]), Longitude = double.Parse(pos[1]) }); } Helpers.ResolvePlaceParents(v.TheftLocationPlaces); } } #endregion SVD.Controller.Instance.VehicleController.UpdateVehicle(v); Helpers.AddPageMessage("Vehicle updated!", PageMessageType.Success); model.Title = v.Title; return(View(model)); }
public ActionResult Edit(EditVehicleModel model) { if (ModelState.IsValid) { var repo = VehicleRepositoryFactory.GetRepository(); try { var oldDetails = repo.GetVehicle(model.Vehicle.ID); 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); int counter = 1; while (System.IO.File.Exists(filePath)) { filePath = Path.Combine(savepath, fileName + counter.ToString() + extension); counter++; } model.ImageUpload.SaveAs(filePath); model.Vehicle.ImageFileName = Path.GetFileName(filePath); // delete old file var oldPath = Path.Combine(savepath, oldDetails.ImageFileName); if (System.IO.File.Exists(oldPath)) { System.IO.File.Delete(oldPath); } } else { // they did not replace the old file, so keep the old file name model.Vehicle.ImageFileName = oldDetails.ImageFileName; } repo.Update(model.Vehicle); return(RedirectToAction("Edit", new { id = model.Vehicle.ID })); } catch (Exception ex) { throw ex; } } else { var repo = VehicleRepositoryFactory.GetRepository(); model.Vehicle = repo.GetVehicle(model.Vehicle.ID); var MakesRepo = MakeRepositoryFactory.GetRepository(); model.Makes = new SelectList(MakesRepo.GetAll(), "MakeID", "Make"); var ModelsRepo = ModelRepositoryFactory.GetRepository(); model.Models = new SelectList(ModelsRepo.GetSelected(model.Vehicle.MakeID), "ModelID", "Model"); return(View(model)); } }