private void LoginExterno(string msg, string topicRecibido, Topic topic) { try { Operarios o = JsonConvert.DeserializeObject <Operarios>(msg); if (o == null) { Log.Write(new Exception("Operario recibido nulo " + msg)); } else { Store.Operarios.Clear(); Store.Operarios.Add(o); BusEventos.OperarioEntra(o); Application.Current.Dispatcher.Invoke((Action) delegate { new Aviso(string.Format("¡{0}!", Horario.CalcularSaludoActual()), hablar: true).Show(); NavegacionEventos.CargarNuevaPagina(NavegacionEventos.PaginaTarea); }); } } catch (Exception ex) { Log.Write(ex); } }
private void btOk_Click(object sender, RoutedEventArgs e) { if (this.CodigoOperario.Length > 0) { Operarios o = Select.BuscarOperarioPorCodigo(this.CodigoOperario.Trim()); if (o != null) { if (!Store.Operarios.Any(x => x.Id == o.Id)) { new Aviso(string.Format("¡{0}!", Horario.CalcularSaludoActual()), hablar: true).Show(); Store.Operarios.Clear(); Store.Operarios.Add(o); BusEventos.OperarioEntra(o); if (Store.Bancada.IdHermano != null) { ClienteMQTT.Publicar(string.Format("/puesto/loginHermano/{0}", Store.Bancada.IdHermano), JsonConvert.SerializeObject(o, new JsonSerializerSettings { ContractResolver = new CustomResolver(), PreserveReferencesHandling = PreserveReferencesHandling.None, ReferenceLoopHandling = ReferenceLoopHandling.Ignore, Formatting = Formatting.Indented }), 2); } NavegacionEventos.CargarNuevaPagina(NavegacionEventos.PaginaTarea); } } this.CodigoOperario = ""; Notifica("CodigoOperario"); } }