private async Task ProvisioningClient_CanReadQuestion(object Sender, CanReadEventArgs e) { CanReadQuestion Question = await Database.FindFirstDeleteRest <CanReadQuestion>(new FilterAnd( new FilterFieldEqualTo("Key", e.Key), new FilterFieldEqualTo("JID", e.JID))); if (Question is null) { Question = new CanReadQuestion() { Created = DateTime.Now, Key = e.Key, JID = e.JID, RemoteJID = e.RemoteJID, OwnerJID = XmppClient.GetBareJID(e.To), ProvisioningJID = this.provisioningClient.ProvisioningServerAddress, ServiceTokens = e.ServiceTokens, DeviceTokens = e.DeviceTokens, UserTokens = e.UserTokens, FieldNames = e.Fields, Categories = e.FieldTypes, NodeId = e.NodeId, SourceId = e.SourceId, Partition = e.Partition }; await Database.Insert(Question); MainWindow.UpdateGui(() => MainWindow.currentInstance.NewQuestion(this.Account, this.provisioningClient, Question)); } }
private async void ProvisioningClient_CanReadQuestion(object Sender, CanReadEventArgs e) { try { CanReadQuestion Question = await Database.FindFirstDeleteRest <CanReadQuestion>(new FilterAnd( new FilterFieldEqualTo("Key", e.Key), new FilterFieldEqualTo("JID", e.JID))); if (Question == null) { Question = new CanReadQuestion() { Created = DateTime.Now, Key = e.Key, JID = e.JID, RemoteJID = e.RemoteJID, OwnerJID = XmppClient.GetBareJID(e.To), ProvisioningJID = this.provisioningClient.ProvisioningServerAddress, ServiceTokens = e.ServiceTokens, DeviceTokens = e.DeviceTokens, UserTokens = e.UserTokens, FieldNames = e.Fields, Categories = e.FieldTypes, NodeId = e.NodeId, SourceId = e.SourceId, Partition = e.Partition }; await Database.Insert(Question); DispatcherOperation Op = MainWindow.currentInstance.Dispatcher.BeginInvoke(new ThreadStart(() => MainWindow.currentInstance.NewQuestion(this.Account, this.provisioningClient, Question))); } } catch (Exception ex) { Log.Critical(ex); } }
private async void ProvisioningClient_CanReadQuestion(object Sender, CanReadEventArgs e) { try { CanReadQuestion Question = await Database.FindFirstDeleteRest <CanReadQuestion>(new FilterAnd( new FilterFieldEqualTo("Key", e.Key), new FilterFieldEqualTo("JID", e.JID))); if (Question == null) { Question = new CanReadQuestion() { Created = DateTime.Now, Key = e.Key, JID = e.JID, RemoteJID = e.RemoteJID, ProvisioningJid = this.provisioningClient.ProvisioningServerAddress, ServiceTokens = e.ServiceTokens, DeviceTokens = e.DeviceTokens, UserTokens = e.UserTokens, FieldNames = e.Fields, Categories = e.FieldTypes, NodeId = e.NodeId, SourceId = e.SourceId, Partition = e.Partition }; await Database.Insert(Question); await MainWindow.currentInstance.NewQuestion(Question); } } catch (Exception ex) { Log.Critical(ex); } }