Beispiel #1
0
        //Обработка запроса на регистрацию
        private void HandleRegistration(RemoteClient client, RegistrationMessage registrationMessage)
        {
            //проверяем, есть ли в базе пользователь с таким имемен
            var userWithSomwName = storage.Find(U => U.Name == registrationMessage.UserName);

            //Если пользователь  с таким именем есть в базе
            if (userWithSomwName != null)
            {
                //Сообщаем клиенту, что такое имя занято
                client.Send(new Response(StatusCode.UserNameBusy));
                //И больше ничего не делаем
                return;
            }
            //Имя пользователя не занято, создаем новый аккаунт
            User user = new User
            {
                Name     = registrationMessage.UserName,
                Password = registrationMessage.UserPassword
            };

            //Сохраняем его в хранилище
            storage.RegisterUser(user);
            //И привызываем его к соединению, по которому пришел запрос на регистрацию
            client.UserView = user;
            //Отправяем клиенту инфу о том что он успешно зарегистрировался
            client.Send(Response.GoodResponse);
        }