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));
        }