public async Task <IActionResult> Update(InsertVehicleViewModel vm) { if (!ModelState.IsValid) { return(RedirectToAction("Index", new IndexViewModel() { Message = ModelState.Values.SelectMany(v => v.Errors).FirstOrDefault().ErrorMessage })); } var vehicle = await vehicleService.GetVehicles().Where(w => w.VehicleId.Equals(vm.VehicleId)).FirstOrDefaultAsync(); if (vehicle == null) { return(RedirectToAction("Index", new IndexViewModel() { Message = "Invalid Vehicle ID" })); } Vehicle updateVehicle = new Vehicle() { CylinderVariant = vm.CylinderVariant, EngineCapacity = vm.EngineCapacity, Make = vm.Make, Model = vm.Model, Price = vm.Price, TopSpeed = vm.TopSpeed, VehicleId = vm.VehicleId }; try { await vehicleService.Update(updateVehicle); return(RedirectToAction("Index", new IndexViewModel() { Message = "Updated Successfully " })); } catch (ArgumentException e) { vm.Message = e.Message; return(RedirectToAction("Index", new IndexViewModel() { Message = e.Message })); } }
public async Task <IActionResult> Insert(InsertVehicleViewModel vm) { // Validation if (!ModelState.IsValid) { vm.Message = ModelState.Values.SelectMany(v => v.Errors).FirstOrDefault().ErrorMessage; return(RedirectToAction("InsertVehicle", vm)); } Vehicle vehicle = new Vehicle() { CylinderVariant = vm.CylinderVariant, EngineCapacity = vm.EngineCapacity, Make = vm.Make, Model = vm.Model, Price = vm.Price, TopSpeed = vm.TopSpeed }; try { await vehicleService.Insert(vehicle); vm.Message = "Inserted successfully"; return(RedirectToAction("Index", new IndexViewModel() { Message = "Inserted successfully" })); } catch (Exception) { await vehicleService.Insert(vehicle); vm.Message = "Please check your data and try again"; return(View("InsertVehicle", vm)); } }
public IActionResult InsertVehicle(InsertVehicleViewModel vm) { return(View(vm)); }