Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
            }
        }