private void registerCallback(RegistrationOutput output)
 {
     this.Dispatcher.BeginInvoke(delegate()
     {
         if (output == null)
         {
             MessageBox.Show("Error communicating with server. Check your internet connection and try again.");
             passwordBox.Password = repPasswordBox.Password = "";
             setControlEnabled(true);
         }
         else if (output.status == "ok")
         {
             MessageBox.Show("Registerred on server.");
             var servers = from Server s in MDEDB.Servers where s.serverName == serverNameBox.Text select s;
             Server server;
             if (servers.Count() > 0)
             {
                 MessageBox.Show("Wow, you shouldn't be here, how have you done that?!");
             }
             else
             {
                 server            = new Server();
                 server.address    = serverUrl;
                 server.serverName = serverNameBox.Text;
                 server.login      = loginBox.Text;
                 server.name       = nameBox.Text;
                 server.email      = mailBox.Text;
                 server.pass       = passwordBox.Password;
                 MDEDB.Servers.InsertOnSubmit(server);
                 MDEDB.SubmitChanges();
                 login();
             }
         }
         else
         {
             MessageBox.Show("Unable to register on server:\n" + output.reason);
             passwordBox.Password = repPasswordBox.Password = "";
             setControlEnabled(true);
         }
     });
 }
        public async Task RegistrationTest()
        {
            User last   = null;
            var  amount = context.Users.Count();

            try
            {
                using (var wb = new WebClient())
                {
                    wb.Encoding = Encoding.UTF8;
                    var data = new NameValueCollection();
                    var user = new User
                    {
                        Login    = MoqDataGenerator.GetRandomString(10),
                        Password = MoqDataGenerator.GetRandomString(10),
                        Nickname = MoqDataGenerator.GetRandomString(10),
                    };
                    data["Login"]    = user.Login;
                    data["Password"] = user.Password;
                    data["Nickname"] = user.Nickname;
                    var                response = wb.UploadValues(serverUrl + "/api/user/registration", "POST", data);
                    string             json     = Encoding.Default.GetString(response);
                    RegistrationOutput resp     = JsonConvert.DeserializeObject <RegistrationOutput>(json);
                    Assert.AreEqual(amount + 1, context.Users.Count());

                    last = context.Users.ToList().Last();
                    Assert.AreEqual(last.Login, user.Login);
                    Assert.AreEqual(last.Password, user.Password);
                    Assert.AreEqual(last.Nickname, user.Nickname);
                    Assert.AreEqual(last.UserID, resp.Token);
                }
            }
            finally
            {
                context.Users.Remove(last);
                await context.SaveChangesAsync();

                Assert.AreEqual(amount, context.Users.Count());
            }
        }
        private void registerCallback(RegistrationOutput output)
        {
            this.Dispatcher.BeginInvoke(delegate()
                {
                    if (output == null)
                    {
                        MessageBox.Show("Error communicating with server. Check your internet connection and try again.");
                        passwordBox.Password = repPasswordBox.Password = "";
                        setControlEnabled(true);
                    }
                    else if (output.status == "ok")
                    {

                        MessageBox.Show("Registerred on server.");
                        var servers = from Server s in MDEDB.Servers where s.serverName == serverNameBox.Text select s;
                        Server server;
                        if (servers.Count() > 0)
                        {
                            MessageBox.Show("Wow, you shouldn't be here, how have you done that?!");
                        }
                        else
                        {
                            server=new Server();
                            server.address = serverUrl;
                            server.serverName = serverNameBox.Text;
                            server.login = loginBox.Text;
                            server.name = nameBox.Text;
                            server.email = mailBox.Text;
                            server.pass = passwordBox.Password;
                            MDEDB.Servers.InsertOnSubmit(server);
                            MDEDB.SubmitChanges();
                            login();
                        }

                    }
                    else
                    {
                        MessageBox.Show("Unable to register on server:\n" + output.reason);
                        passwordBox.Password = repPasswordBox.Password = "";
                        setControlEnabled(true);
                    }
                });
        }