public IHttpActionResult DeleteVehicle(int id) { try { var repo = VehicleListingsFactory.GetRepository(); var vehicle = repo.GetById(id); var savepath = HttpContext.Current.Server.MapPath("~/Images"); var filePath = Path.Combine(savepath, vehicle.ImageFileName); if (File.Exists(filePath)) { File.Delete(filePath); } repo.Delete(id); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult Details(int id) { var repo = VehicleListingsFactory.GetRepository(); var model = repo.GetDetails(id); return(View(model)); }
public ActionResult AddVehicle(AddEditListingVM model) { var repo = VehicleListingsFactory.GetRepository(); if (ModelState.IsValid) { try { var savepath = Server.MapPath("~/Images"); if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0) { string fileName = Path.GetFileName(model.ImageUpload.FileName); var filePath = Path.Combine(savepath, fileName); repo.Insert(model.Listing); var extension = Path.GetExtension(filePath); var vehicle = repo.GetById(model.Listing.VehicleListingId); vehicle.ImageFileName = "inventory-" + vehicle.VehicleListingId + extension; var newFilePath = Path.Combine(savepath, vehicle.ImageFileName); if (new FileInfo(newFilePath).Exists) { new FileInfo(newFilePath).Delete(); } model.ImageUpload.SaveAs(newFilePath); repo.Update(vehicle); } return(RedirectToAction("EditVehicle", new { id = model.Listing.VehicleListingId })); } catch (Exception ex) { throw ex; } } else { var makesRepo = VehicleMakesFactory.GetRepository(); var typesRepo = VehicleTypesFactory.GetRepository(); var bodyRepo = BodyStylesFactory.GetRepository(); var transRepo = TransmissionTypesFactory.GetRepository(); var colorRepo = ColorsFactory.GetRepository(); model.VehicleMakes = makesRepo.GetVehicleMakes(); model.VehicleTypes = typesRepo.GetAll(); model.BodyStyles = bodyRepo.GetAll(); model.TransmissionTypes = transRepo.GetAll(); model.Colors = colorRepo.GetAll(); return(View("AddVehicle", model)); } }
public ActionResult Purchase(PurchaseVM model) { var listingRepo = VehicleListingsFactory.GetRepository(); var purchaseRepo = PurchasesFactory.GetRepository(); var customerRepo = CustomersFactory.GetRepository(); if (ModelState.IsValid) { try { var customer = customerRepo.GetByEmail(model.Buyer.Email); if (customer == null) { customerRepo.Insert(model.Buyer); var customerId = customerRepo.GetByEmail(model.Buyer.Email).CustomerId; model.NewPurchase.CustomerId = customerId; } else { model.NewPurchase.CustomerId = customer.CustomerId; } var vehicle = listingRepo.GetById(model.VehicleDetails.VehicleListingId); vehicle.Sold = true; listingRepo.Update(vehicle); model.NewPurchase.VehicleListingId = model.VehicleDetails.VehicleListingId; var userId = User.Identity.GetUserId(); model.NewPurchase.UserId = userId; purchaseRepo.Insert(model.NewPurchase); return(RedirectToAction("Index")); } catch (Exception ex) { throw ex; } } else { var purchaseTypeRepo = PurchaseTypesFactory.GetRepository(); model.PurchaseTypes = purchaseTypeRepo.GetAll(); model.VehicleDetails = listingRepo.GetDetails(model.VehicleDetails.VehicleListingId); return(View("Purchase", model)); } }
public ActionResult EditVehicle(AddEditListingVM model) { var repo = VehicleListingsFactory.GetRepository(); if (ModelState.IsValid) { try { if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0) { var savepath = Server.MapPath("~/Images"); string fileName = Path.GetFileName(model.ImageUpload.FileName); string fileExtension = Path.GetExtension(model.ImageUpload.FileName); fileName = "inventory-" + model.Listing.VehicleListingId + fileExtension; var filePath = Path.Combine(savepath, fileName); model.ImageUpload.SaveAs(filePath); model.Listing.ImageFileName = fileName; } repo.Update(model.Listing); return(RedirectToAction("Vehicles")); } catch (Exception ex) { throw ex; } } else { var makesRepo = VehicleMakesFactory.GetRepository(); var modelsRepo = VehicleModelsFactory.GetRepository(); var typesRepo = VehicleTypesFactory.GetRepository(); var bodyRepo = BodyStylesFactory.GetRepository(); var transRepo = TransmissionTypesFactory.GetRepository(); var colorRepo = ColorsFactory.GetRepository(); model.VehicleMakes = makesRepo.GetVehicleMakes(); model.VehicleModels = modelsRepo.GetVehicleModels(); model.VehicleTypes = typesRepo.GetAll(); model.BodyStyles = bodyRepo.GetAll(); model.TransmissionTypes = transRepo.GetAll(); model.Colors = colorRepo.GetAll(); return(View("EditVehicle", model)); } }
public ActionResult Index() { FeaturedandSpecialsVM model = new FeaturedandSpecialsVM(); var specials = SpecialsFactory.GetRepository().GetAll(); var featuredVehicles = VehicleListingsFactory.GetRepository().GetFeatured(); model.FeaturedVehicles = featuredVehicles; model.Specials = specials; return(View(model)); }
public ActionResult Purchase(int id) { var listingRepo = VehicleListingsFactory.GetRepository(); var purchaseTypeRepo = PurchaseTypesFactory.GetRepository(); PurchaseVM model = new PurchaseVM() { VehicleDetails = listingRepo.GetDetails(id), NewPurchase = new Purchase(), Buyer = new Customer(), PurchaseTypes = purchaseTypeRepo.GetAll() }; return(View(model)); }
public ActionResult Contact(int?id) { ContactRequestVM model = new ContactRequestVM() { NewRequest = new ContactRequest() }; if (id != null) { var vehicle = VehicleListingsFactory.GetRepository().GetById((int)id); model.NewRequest.Message = vehicle.VIN; } return(View(model)); }
public ActionResult EditVehicle(int id) { var listingRepo = VehicleListingsFactory.GetRepository(); var makesRepo = VehicleMakesFactory.GetRepository(); var modelsRepo = VehicleModelsFactory.GetRepository(); var typesRepo = VehicleTypesFactory.GetRepository(); var bodyRepo = BodyStylesFactory.GetRepository(); var transRepo = TransmissionTypesFactory.GetRepository(); var colorRepo = ColorsFactory.GetRepository(); AddEditListingVM model = new AddEditListingVM() { Listing = listingRepo.GetById(id), VehicleMakes = makesRepo.GetVehicleMakes(), VehicleModels = modelsRepo.GetVehicleModels(), VehicleTypes = typesRepo.GetAll(), BodyStyles = bodyRepo.GetAll(), TransmissionTypes = transRepo.GetAll(), Colors = colorRepo.GetAll() }; return(View(model)); }
public IHttpActionResult SalesSearch(string searchTerm, decimal?minMSRP, decimal?maxMSRP, int?minYear, int?maxYear, int?vehicleTypeId) { var repo = VehicleListingsFactory.GetRepository(); try { var parameters = new ListingSearchParameters() { SearchTerm = searchTerm, MinMSRP = minMSRP, MaxMSRP = maxMSRP, MinYear = minYear, MaxYear = maxYear, VehicleTypeId = vehicleTypeId }; var result = repo.GetSearchResults(parameters); return(Ok(result)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }