示例#1
0
        private void RegisterNewUser(IPEndPoint sender, byte[] message, out byte[] send)
        {
            try
            {
                // Create a database access object to register new user with database.
                using (TheNoise_DatabaseControl.DataAccessLayer databaseAccess =
                    new TheNoise_DatabaseControl.DataAccessLayer(databaseAddress.ToString(), databaseName, databaseUsername, databasePassword, databaseUseIntegratedSecurity))
                {
                    // Deserialize the login request.
                    LoginData credentials = (LoginData)ObjectSerialization.Deserialize(message, typeof(LoginData));

                    // Attempt to register with the database.
                    UserAddResult result;
                    if (!debugging)
                    {
                        result = databaseAccess.addUser(credentials);
                    }
                    else
                    {
                        result = UserAddResult.Success;
                    }

                    ObjectSerialization.Serialize(result, out send);

                    GeneralEvent.Invoke(this, new GeneralEventArgs(null, sender,
                        "Issued a request for registration and the result was: " + result.ToString()));
                }
            }
            catch (Exception ex)
            {
                GeneralEvent.Invoke(this, new GeneralEventArgs(null, sender, "Tried to register a new user, but something failed: " + ex.Message));
                ObjectSerialization.Serialize(UserAuthenticationResult.UnknownResult, out send);
            }
        }