Exemple #1
0
        public void switchState(Parkingspot spot)
        {
            ParkingspotStatus newstatus = Invert(spot.Status);
            string            lpid      = null;

            if (newstatus == ParkingspotStatus.TAKEN)
            {
                lpid = licenseplateIds[random.Next(licenseplateIds.Count)];
            }
            IoTRequest request = createChangeRequest(spot, lpid, newstatus);

            SendStateChange(channel, request, spot);
            spot.Status         = newstatus;
            spot.LicensePlateId = lpid;
        }
Exemple #2
0
 private IoTRequest createChangeRequest(Parkingspot parkingspot, string lcid, ParkingspotStatus newstate)
 {
     IoTStateChangedDTO.IoTChangedState state = newstate == ParkingspotStatus.FREE
         ? IoTStateChangedDTO.IoTChangedState.LEFT
         : IoTStateChangedDTO.IoTChangedState.ARRIVED;
     return(new IoTRequest
     {
         stateChangedDTO = new IoTStateChangedDTO
         {
             guid = parkingspot.Guid,
             id = parkingspot.ID,
             licensePlateId = lcid,
             state = state
         }
     });
 }
Exemple #3
0
 private ParkingspotStatus Invert(ParkingspotStatus status)
 {
     return((ParkingspotStatus)(1 - status));
 }