public void SaveVehicle() { vehicleRepository.Commit(); }
public IActionResult Create([Bind("Id,RegisterNr,Color,Brand,Model,ParkeringSpaceId, VehicleOwnersId,VehicleTypeName")] Vehicle vehicle) { ViewBag.FreeParkSpace = _vehicleRepository.Count(); ViewBag.GarageCapacity = parkingCapacity; double TotalParkingMinutes = 0; //Check if register nr is char string IsChar = ""; //Check if register nr is char string IsDigit = ""; //Result of register number string reg_nr = ""; if (_vehicleRepository.Count() == parkingCapacity) { ViewBag.NoFreeParkSpace = parkingCapacity; // No Vehicle instans is passade to this view just ViewBag return(View("ViewVehiclePark", vehicle)); } else if (_vehicleRepository.Count() < parkingCapacity) { //Validate swedish car register number "GHK123" for (int i = 0; i < vehicle.RegisterNr.Length; i++) { if (char.IsLetter(vehicle.RegisterNr[0]) && (char.IsLetter(vehicle.RegisterNr[1])) && char.IsLetter(vehicle.RegisterNr[2])) { IsChar = vehicle.RegisterNr[0] + vehicle.RegisterNr[1].ToString() + vehicle.RegisterNr[2].ToString(); } if (char.IsDigit(vehicle.RegisterNr[3]) && (char.IsDigit(vehicle.RegisterNr[4])) && char.IsDigit(vehicle.RegisterNr[5])) { IsDigit = vehicle.RegisterNr[3].ToString() + vehicle.RegisterNr[4].ToString() + vehicle.RegisterNr[5].ToString(); } } reg_nr = IsChar + IsDigit; vehicle.RegisterNr = reg_nr; //We have now validate the car register nummber vehicle.ParkingTime = DateTime.Now; vehicle.ParkeringSpaceId = ParkingAvailablity(); var VehicleExist = _vehicleRepository.GetAllEntities().Any(v => v.RegisterNr == vehicle.RegisterNr); if (VehicleExist) { ModelState.AddModelError("Registration Number", "Registration number already exist."); } try { if (ModelState.IsValid) { TotalParkingMinutes = Math.Round(TotalParkingMinutes + (DateTime.Now - vehicle.ParkingTime).TotalMinutes); _vehicleRepository.AddEntity(vehicle); _vehicleRepository.Commit(); return(RedirectToAction("CheckIn", "Vehicles")); } } catch (DbUpdateException ex) { ModelState.AddModelError("Creating vehicles", "Unable to save changes in the database vehicle obj " + "Try again, and if the problem persists " + ex.Message); } } else { ModelState.AddModelError("Faile", "Fail to park cars in garage!!!"); } ViewBag.VehicleOwnersId = new SelectList(_ownerRepository.GetAllEntities(), "Id", "Name", vehicle.VehicleOwnersId); ViewBag.VehicleTypeName = new SelectList(_vehicleTypeRepository.GetAllEntities(), "Id,Name", vehicle.VehicleTypeName); ViewBag.NoFreeParkSpace = _vehicleRepository.Count(); ViewBag.GarageCapacity = parkingCapacity; ViewBag.TotalParkingValues = (TotalParkingMinutes * 60) / 60; return(View(vehicle)); }