private string AlterarEstadoDaPorta(string portName, PortStates targetPortState, IDevicePortState portState) { string result; var changePortStateContex = new ChangePortStateContext() { RequestId = "", SetState = targetPortState, TargetPortName = portName }; _thinkerThingsSignalRHubContext.Clients.Client(portState.ConnectionId).ChangePortState(changePortStateContex); switch (targetPortState) { case PortStates.Actived: result = $"{portName} será ligado"; break; case PortStates.Deactived: result = $"{portName} será desligado"; break; default: result = $"Não estou certo do que acontecerá com {portName}"; break; } return(result); }
public async Task ChangePortState(ChangePortStateContext changePortStateContext) { var context = changePortStateContext; await Task.Run(() => { RaspyPinManager.Instance.ChangePortState(context); }); UpdatePortState(changePortStateContext); }
internal void UpdatePortState(Pin pin, GpioPinValue gpioPinValue) { var portState = GpioPinValueToPortState(gpioPinValue); var portName = _pinConfigurations.FirstOrDefault(p => p.PinId == pin.PinId).PortName; var context = new ChangePortStateContext() { SetState = portState, TargetPortName = portName }; SignalRRaspyberryPiClient.Instance.UpdatePortState(context); }
public void UpdatePortState(ChangePortStateContext changePortStateContext, string requesterId) { if (changePortStateContext == null) { throw new ArgumentNullException(nameof(changePortStateContext)); } if (string.IsNullOrWhiteSpace(requesterId)) { throw new ArgumentNullException(requesterId); } lock (_lock) { InternalUpdatePortState(changePortStateContext, requesterId); } }
private void InternalUpdatePortState(ChangePortStateContext changePortStateContext, string requesterId) { var device = FindDeviceById(requesterId); if (device == null) { throw new InvalidOperationException($"Não foi encontrado o dispositico com o Id '{requesterId}'"); } var port = device.Ports.FirstOrDefault(p => string.Equals(p.PortName, changePortStateContext.TargetPortName, StringComparison.InvariantCultureIgnoreCase)); if (port == null) { throw new InvalidOperationException($"Não foi encontrado a porta '{changePortStateContext.TargetPortName}' no dispositivo '{device.DeviceName}'"); } port.PortState = changePortStateContext.SetState; }
public void UpdatePortState(ChangePortStateContext changePortStateContext) { _thinkerThingsHubConnection.UpdatePortState(changePortStateContext); }
public void UpdatePortState(ChangePortStateContext changePortStateContext) { var callerId = Context.ConnectionId; _devicesStateProvider.UpdatePortState(changePortStateContext, callerId); }
public void UpdatePortState(ChangePortStateContext changePortStateContext) { _hubConnection.SendCoreAsync(nameof(UpdatePortState), GetObjectArray(changePortStateContext)); }
internal void ChangePortState(ChangePortStateContext context) { ChangePortState(context.TargetPortName, context.SetState); SignalRRaspyberryPiClient.Instance.UpdatePortState(context); }