public void Dispose() { Nbxs.ForEach(nbx => { nbx.Dispose(); }); Nbxs.Clear(); }
public MainUserControlViewModel(IDataService dataService) { _dataService = dataService; _uiContext = System.Threading.SynchronizationContext.Current; _dataService.GetAppData((cfg, error) => { if (error != null) { // Report error here return; } UlisesNbxItem.NotifyChange += (msg) => { _uiContext.Send(x => { if (_mensajes.Count >= 4) { _mensajes.RemoveAt(3); } _mensajes.Insert(0, new LogMessage() { Msg = DateTime.Now.ToLongTimeString() + ": " + msg }); RaisePropertyChanged("Mensajes"); }, null); }; _mensajes.Insert(0, new LogMessage() { Msg = DateTime.Now.ToLongTimeString() + ": Mensaje Inicial..." }); UlisesNbxItem.ServerIp = cfg.ServerIP; UlisesNbxItem.ServerPort = cfg.ServerPort; UlisesNbxItem.Mode = cfg.Modo; foreach (var nbx in cfg.Nbxs) { var item = new UlisesNbxItem() { Ip = nbx.Ip, WebPort = cfg.Modo == "Mixed" ? nbx.MixedWp : nbx.RadioWp }; item.Start(); Nbxs.Add(item); } ; ListClean = new RelayCommand(() => { _mensajes.Clear(); RaisePropertyChanged("Mensajes"); }); }); }