public ActionResult AddParkingLot(ParkingLotViewModel model) { ParkingLot parkingLotEntity = new ParkingLot { CompanyName = model.CompanyName, Address = model.Address, ZipCode = model.ZipCode, AddedDate = DateTime.UtcNow, ModifiedDate = DateTime.UtcNow, InitialNumberOfFloors = model.InitialNumberOfFloors, InitialNumberOfSpotsPerFloor = model.InitialNumberOfSpotsPerFloor }; List <ParkingFloor> parkingFloors = new List <ParkingFloor>(); for (int i = 0; i < model.InitialNumberOfFloors; i++) { ParkingFloor parkingFloor = new ParkingFloor { AddedDate = DateTime.UtcNow, ModifiedDate = DateTime.UtcNow, }; parkingFloor.ParkingSpots = new List <ParkingSpot>(); for (int j = 0; j < model.InitialNumberOfSpotsPerFloor; j++) { ParkingSpot parkingSpot = new ParkingSpot { AddedDate = DateTime.UtcNow, ModifiedDate = DateTime.UtcNow, }; parkingSpot.ParkingFloor = parkingFloor; parkingFloor.ParkingSpots.Add(parkingSpot); } parkingFloor.ParkingLot = parkingLotEntity; parkingFloors.Add(parkingFloor); } parkingLotEntity.ParkingFloors = parkingFloors; parkingLotService.Insert(parkingLotEntity); if (parkingLotEntity.Id > 0) { return(RedirectToAction("index")); } return(View(model)); }