public void Add(ActiveBusesModel activeBus) { var exist = ActiveBuses.Any(x => x.ConnectionId == activeBus.ConnectionId); if (exist) { return; } ActiveBuses.Add(activeBus); }
public void BusUpdate(ActiveBusesModel bus) { int index = ActiveBuses.FindIndex(item => item.Name.Equals(bus.Name)); if (index != -1) { ActiveBuses[index] = bus; } else { ActiveBuses.Add(bus); } }
public void UpdateActiveBuses(ActiveBusesModel bus) { int index = BusStatusList.FindIndex(item => item.Name.Equals(bus.Name)); if (index != -1) { BusStatusList[index].ActiveBus = bus; } else { var activeBbus = new BusStatusModel(); activeBbus.Name = bus.Name; activeBbus.State = bus.State; activeBbus.ActiveBus = bus; BusStatusList.Add(activeBbus); } }
public async Task Login(string name, List <string> groups) { name = name.ToLower(); var confs = await GlobalData.GetBusConfigList(); if (name == "control") { await SendResponseForControl(confs); } else { groups.Add(name); var currentBusConf = await GetBusByName(name); if (currentBusConf == null) { Log.Warning("GetBusByName returned null on Login"); } var newBus = new ActiveBusesModel { Name = name, ConnectionId = Context.ConnectionId, IsActive = true, Type = BusType.RigBus }; if (newBus.State == null) { newBus.State = new RigState(); } ActiveService.Add(newBus); if (currentBusConf !.BusType == BusType.VirtualRigBus) { Log.Warning("sending state to virtual rig"); globalState.Name = name; await Clients.Caller.SendAsync(SignalRCommands.State, globalState); } await SendActiveUpdate(newBus); await SendResponseToBuses(groups, currentBusConf, name); } return; }
private void HandleActiveBusUpdate(ActiveBusesModel active) { UpdateNewState(active.State); ActiveBusServie !.BusUpdate(active); StateHasChanged(); }
private async Task SendActiveUpdate(ActiveBusesModel activeUpdate) { activeUpdate.IncSerial(); await Clients.Group(SignalRGroups.Control).SendAsync(SignalRCommands.ActiveUpdate, activeUpdate); }