public async Task <IActionResult> ParkVehicle([Bind("Id,Type,RegNr,Color,Brand,Model,NoWheels,FreeText")] ParkVehicleViewModel parkVehicleModel) { Vehicle vehicle = new Vehicle(); if (RegNoIsParked(parkVehicleModel.RegNr)) { ModelState.AddModelError("RegNr", "Det finns redan ett fordon med det här registreringsnumret i garaget"); } if (ModelState.IsValid) { vehicle.Id = parkVehicleModel.Id; vehicle.RegNr = parkVehicleModel.RegNr; vehicle.Color = parkVehicleModel.Color; vehicle.Brand = parkVehicleModel.Brand; vehicle.Model = parkVehicleModel.Model; vehicle.NoWheels = parkVehicleModel.NoWheels; vehicle.ParkedIn = DateTime.Now; db.Add(vehicle); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } // Provide error feed-back return(View(parkVehicleModel)); }
public IActionResult ParkVehicle(ParkVehicleViewModel viewModel) { var level = _levelRepository.GetById(viewModel.ParkingLevelId); if (level == null) { return(NotFound()); } var licensePlate = LicensePlate.Create(viewModel.Vehicle.LicensePlate); if (!licensePlate.IsSuccess) { return(BadRequest(licensePlate.ErrorMessage)); } var vehicle = Vehicle.Create(licensePlate.Value, viewModel.Vehicle.Weight); if (!vehicle.IsSuccess) { return(BadRequest(vehicle.ErrorMessage)); } var result = level.ParkVehicle(viewModel.ParkingSpaceNumber, vehicle.Value); if (!result.IsSuccess) { return(BadRequest(result.ErrorMessage)); } _context.SaveChanges(); return(RedirectToAction(nameof(ParkingController.Edit), "Parking", new { id = level.Parking.Id })); }
public IActionResult ParkVehicle(int parkingLevelId, int parkingSpaceNumber) { var viewModel = new ParkVehicleViewModel { ParkingLevelId = parkingLevelId, ParkingSpaceNumber = parkingSpaceNumber }; return(View(viewModel)); }
// GET: ParkedVehicles/Create public ActionResult Create() { ParkVehicleViewModel model = new ParkVehicleViewModel() { VehicleTypeSelectList = db.VehicleTypes, //GetVehicleTypeSelectList(), MemberFound = false, Post = false }; return(View(model)); }
public ActionResult Edit([Bind(Include = "RegistrationNumber,Type,Color,Brand,Wheels,SelectedVehicleTypeId")] ParkVehicleViewModel model) { ParkedVehicle parkedVehicle = new ParkedVehicle { RegistrationNumber = model.RegistrationNumber.ToUpper(), Color = model.Color, Brand = model.Brand, Wheels = model.Wheels, VehicleTypeId = model.SelectedVehicleTypeId }; if (ModelState.IsValid) { db.Entry(parkedVehicle).State = EntityState.Modified; db.Entry(parkedVehicle).Property(x => x.ParkingTime).IsModified = false; db.Entry(parkedVehicle).Property(x => x.MembersId).IsModified = false; //db.Entry(parkedVehicle).Property(x => x.VehicleTypeId).IsModified = false; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(parkedVehicle)); }
public ActionResult Create([Bind(Include = "FirstName,LastName,RegistrationNumber,Color,Brand,Wheels,ParkingTime,SelectedVehicleTypeId")] ParkVehicleViewModel model) { model.Post = true; model.VehicleTypeSelectList = db.VehicleTypes; if (db.ParkedVehicle.Any(v => v.RegistrationNumber == model.RegistrationNumber)) { ModelState.AddModelError("RegistrationNumber", "registration number exist"); model.RegNrTaken = true; //return View(model); } var foundMember = GetMember(model.FirstName, model.LastName); if (foundMember == null) { model.MemberFound = false; return(View(model)); } model.MemberFound = true; if (ModelState.IsValid) { ParkedVehicle parkedVehicle = new ParkedVehicle { RegistrationNumber = model.RegistrationNumber.ToUpper(), Color = model.Color, Brand = model.Brand, Wheels = model.Wheels, ParkingTime = DateTime.Now, MembersId = foundMember.Id, VehicleTypeId = model.SelectedVehicleTypeId }; db.ParkedVehicle.Add(parkedVehicle); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
// GET: ParkedVehicles/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ParkedVehicle parkedVehicle = db.ParkedVehicle.Find(id); if (parkedVehicle == null) { return(HttpNotFound()); } ParkVehicleViewModel model = new ParkVehicleViewModel { RegistrationNumber = parkedVehicle.RegistrationNumber, Brand = parkedVehicle.Brand, Color = parkedVehicle.Color, Wheels = parkedVehicle.Wheels, VehicleTypeSelectList = db.VehicleTypes }; return(View(model)); }