public IActionResult Add() { AddCarsViewModel addCarsViewModel = new AddCarsViewModel(); return View(addCarsViewModel); }
public async Task<IActionResult> Add(AddCarsViewModel addCarsViewModel) { userID = HttpContext.Session.GetInt32("userID") ?? 0; if (ModelState.IsValid) { if (AddCarLongViewModel.Make == null) // Pull the car information using API { // Vin API: https://github.com/writelinez/NHTSA-VehicleData NHTSAClient nhtsaClient = new NHTSAClient(); VehicleDataResponse<VinDecodeResult> vinResult = await nhtsaClient.DecodeVinAsync(addCarsViewModel.VinNumber); VinDecodeResult VinAPIResult = vinResult.Results.FirstOrDefault(); if (VinAPIResult != null) { Car car = new Car(); car.Make = VinAPIResult.Make; car.Model = VinAPIResult.Model; car.CurrentMiles = addCarsViewModel.CurrentMiles; car.UserID = userID; car.NextMaintenanceDays = 0; car.NextMaintenanceMiles = 0; car.VinNumber = addCarsViewModel.VinNumber; car.Year = Int32.Parse(VinAPIResult.ModelYear); context.Cars.Add(car); context.SaveChanges(); return Redirect("/Cars/Index/" + car.ID); } else { // use the information from the user Car car = context.Cars.Where(x => x.ID == addCarsViewModel.CarID).FirstOrDefault(); car.ID = addCarsViewModel.CarID; car.Make = addCarsViewModel.Make; car.Model = addCarsViewModel.Model; car.CurrentMiles = addCarsViewModel.CurrentMiles; car.NextMaintenanceDays = addCarsViewModel.NextMaintenanceDays; car.NextMaintenanceMiles = addCarsViewModel.NextMaintenanceMiles; car.VinNumber = addCarsViewModel.VinNumber; car.Year = addCarsViewModel.Year; context.SaveChanges(); return Redirect("/Home/MainPage"); } } } return View(addCarsViewModel); }
public IActionResult Edit(AddCarsViewModel addCarsViewModel) { Car car = context.Cars.Where(x => x.ID == addCarsViewModel.CarID).FirstOrDefault(); car.ID = addCarsViewModel.CarID; car.Make = addCarsViewModel.Make; car.Model = addCarsViewModel.Model; car.CurrentMiles = addCarsViewModel.CurrentMiles; car.NextMaintenanceDays = addCarsViewModel.NextMaintenanceDays; car.NextMaintenanceMiles = addCarsViewModel.NextMaintenanceMiles; car.VinNumber = addCarsViewModel.VinNumber; car.Year = addCarsViewModel.Year; context.SaveChanges(); return Redirect("/Home/MainPage"); }
//Here we show all the maintenance performed in the car public IActionResult Edit(int id) { userID = HttpContext.Session.GetInt32("userID") ?? 0; Car car = context.Cars.Where(x => x.ID == id).FirstOrDefault(); AddCarsViewModel addCarsViewModel = new AddCarsViewModel() { CarID = car.ID, Make = car.Make, Model = car.Model, UserID = this.userID, CurrentMiles = car.CurrentMiles, NextMaintenanceDays = car.NextMaintenanceDays, NextMaintenanceMiles = car.NextMaintenanceMiles, VinNumber = car.VinNumber, Year = car.Year }; return View(addCarsViewModel); }