private ParkResponse ParkedVehicleResponse(ParkingDetails parkingDetails)
 {
     try
     {
         ParkResponse responseData = new ParkResponse
         {
             ReceiptNumber = parkingDetails.ReceiptNumber,
             OwnerName     = parkingDetails.OwnerName,
             VehicleNumber = parkingDetails.VehicleNumber,
             VehicleBrand  = parkingDetails.VehicleBrand,
             Color         = parkingDetails.Color,
             Disability    = parkingDetails.Disability,
             AttendantName = parkingDetails.AttendantName,
             ParkingDate   = parkingDetails.ParkingDate,
             ParkingSlot   = parkingDetails.ParkingSlot
         };
         if (responseData != null)
         {
             return(responseData);
         }
         return(null);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
 public ParkResponse ParkVehicle(int securityID, ParkRequest parkDetails)
 {
     try
     {
         var securityExists = _appDBContext.Users.
                              Any(security => security.ID == securityID);
         if (securityExists)
         {
             ParkingDetails parkData = new ParkingDetails
             {
                 OwnerName     = parkDetails.OwnerName,
                 VehicleNumber = parkDetails.VehicleNumber,
                 VehicleBrand  = parkDetails.VehicleBrand,
                 Color         = parkDetails.Color,
                 IsParked      = true,
                 AttendantName = parkDetails.AttendantName,
                 Disability    = parkDetails.Disability,
                 ParkingDate   = DateTime.Now
             };
             if (parkDetails.Disability)
             {
                 parkingSlot = GetParkingSlotForHandicap();
             }
             else
             {
                 parkingSlot = GetParkingSlot();
             }
             if (parkingSlot == null)
             {
                 return(null);
             }
             parkData.ParkingSlot = parkingSlot;
             _appDBContext.ParkingDetails.Add(parkData);
             _appDBContext.SaveChanges();
             ParkResponse responseData = ParkedVehicleResponse(parkData);
             return(responseData);
         }
         return(null);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
 public ParkResponse GetParkedCarDetailsbyReceiptNo(int receiptNo)
 {
     try
     {
         ParkResponse responseData  = null;
         var          vehicleExists = _appDBContext.ParkingDetails.Any(v => v.ReceiptNumber == receiptNo && v.IsParked == true);
         if (vehicleExists)
         {
             var vehicleData = _appDBContext.ParkingDetails.Find(receiptNo);
             if (vehicleData != null)
             {
                 responseData = ParkedVehicleResponse(vehicleData);
             }
         }
         return(responseData);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
 public ParkResponse GetParkedCarDetailsbyVehicleNo(string vehicleNo)
 {
     try
     {
         ParkResponse responseData  = null;
         var          vehicleExists = _appDBContext.ParkingDetails.Any(v => v.VehicleNumber == vehicleNo && v.IsParked == true);
         if (vehicleExists)
         {
             var vehicleData = _appDBContext.ParkingDetails.
                               Where(vehicle => vehicle.VehicleNumber == vehicleNo && vehicle.IsParked == true).FirstOrDefault();
             if (vehicleData != null)
             {
                 responseData = ParkedVehicleResponse(vehicleData);
             }
         }
         return(responseData);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }