static void SendStateChange(IModel channel, IoTRequest request, Parkingspot spot) { var props = channel.CreateBasicProperties(); props.ContentType = "application/json"; var s = JsonConvert.SerializeObject(request); var b = Encoding.UTF8.GetBytes(s); channel.BasicPublish("", spot.Queue, props, b); }
private IoTRequest createInitRequest(Parkingspot parkingspot) { return(new IoTRequest { newSourceDTO = new IoTNewSourceDTO { guid = parkingspot.Guid, Latitude = parkingspot.Latitude, Longitude = parkingspot.Longitude } }); }
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; }
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 } }); }