Ejemplo n.º 1
0
        private void UserChangeStatusRequestHandler(NetworkClient client, Message message)
        {
            var userMessage = message.GetData <UserSession>();

            client.UserSession.UserStatus = userMessage.UserStatus;
            BroadcastAll(client, Message.Create(MessageType.UserChangeStatusResponse, client.UserSession), true);
        }
Ejemplo n.º 2
0
        private void DeleteChannelRequestHandler(NetworkClient client, Message message)
        {
            var channelFromRequest = message.GetData <Channel>();

            if (channelFromRequest.Id == LobbyChannelId)
            {
                Console.WriteLine("Cannot delete designated lobby channel id " + LobbyChannelId);
                return;
            }

            var channelFromServer = channelSessions.FirstOrDefault(c => c.Channel.Id == channelFromRequest.Id);

            if (channelFromServer == null)
            {
                Console.WriteLine("Unable to find channel id {0} in server", channelFromRequest.Id);
                return;
            }

            channelService.DeleteChannel(channelFromServer.Channel.Id);

            foreach (var userSession in channelFromServer.UserSessions)
            {
                AddUserToChannel(userSession, 0);
            }
            channelSessions.Remove(channelFromServer);

            BroadcastAll(client, Message.Create(MessageType.GetAllChannelsResponse, channelSessions), true);
        }
Ejemplo n.º 3
0
        private void CredentialRequestHandler(NetworkClient client, Message message)
        {
            try
            {
                var credential = message.GetData <UserInfo>();
                // Handle credential authorization
                if (string.IsNullOrWhiteSpace(credential.Username))
                {
                    var userSession = new UserSession();
                    userSession.UserInfo = new UserInfo()
                    {
                        Username = "******" + new Random().Next(10000)
                    };
                    CredentialRequestHandlerSuccess(client, userSession);
                }

                if (userService.IsUserAuthenticated(credential.Username, credential.Password))
                {
                    var userSession = new UserSession();
                    userSession.UserInfo = userService.GetUserByUsername(credential.Username);
                    CredentialRequestHandlerSuccess(client, userSession);
                }


                CredentialRequestHandlerFail(client);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                CredentialRequestHandlerFail(client);
            }
        }
Ejemplo n.º 4
0
        private void CreateChannelRequestHandler(NetworkClient client, Message message)
        {
            var channelToCreate       = message.GetData <Channel>();
            var createdChannel        = channelService.CreateChannel(channelToCreate.Name);
            var createdChannelSession = new ChannelSession(createdChannel);

            AddChannel(createdChannelSession);
            BroadcastAll(client, Message.Create(MessageType.CreateChannelResponse, createdChannelSession), true);
        }
Ejemplo n.º 5
0
        private void RenameChannelRequestHandler(NetworkClient client, Message message)
        {
            var channelFromRequest = message.GetData <Channel>();
            var channelFromServer  = channelSessions.FirstOrDefault(c => c.Channel.Id == channelFromRequest.Id);

            if (channelFromServer == null)
            {
                Console.WriteLine("Unable to find channel id {0} in server", channelFromRequest.Id);
                return;
            }
            channelService.UpdateChannel(channelFromRequest);         // ensure you can update in database first
            channelFromServer.Channel.Name = channelFromRequest.Name; // then update the channel object currently serving
            BroadcastAll(client, Message.Create(MessageType.RenameChannelResponse, channelFromRequest), true);
        }
Ejemplo n.º 6
0
 private void CreateUserRequestHandler(NetworkClient client, Message message)
 {
     try
     {
         userService.CreateUser(message.GetData <UserInfo>());
         client.WriteMessage(Message.Create(MessageType.CreateUserResponse,
                                            new SimpleResponse()
         {
             Success = true, Message = "User created"
         }));
     }
     catch (Exception ex)
     {
         client.WriteMessage(Message.Create(MessageType.CreateUserResponse,
                                            new SimpleResponse()
         {
             Success = false, Message = ex.Message
         }));
     }
 }
Ejemplo n.º 7
0
 private void UserChangeStatusRequestHandler(NetworkClient client, Message message)
 {
     var userMessage = message.GetData<UserSession>();
     client.UserSession.UserStatus = userMessage.UserStatus;
     BroadcastAll(client, Message.Create(MessageType.UserChangeStatusResponse, client.UserSession), true);
 }
Ejemplo n.º 8
0
 private void RenameChannelRequestHandler(NetworkClient client, Message message)
 {
     var channelFromRequest = message.GetData<Channel>();
     var channelFromServer = channelSessions.FirstOrDefault(c => c.Channel.Id == channelFromRequest.Id);
     if (channelFromServer == null)
     {
         Console.WriteLine("Unable to find channel id {0} in server", channelFromRequest.Id);
         return;
     }
     channelService.UpdateChannel(channelFromRequest); // ensure you can update in database first
     channelFromServer.Channel.Name = channelFromRequest.Name; // then update the channel object currently serving
     BroadcastAll(client, Message.Create(MessageType.RenameChannelResponse, channelFromRequest), true);
 }
Ejemplo n.º 9
0
        private void DeleteChannelRequestHandler(NetworkClient client, Message message)
        {
            var channelFromRequest = message.GetData<Channel>();

            if (channelFromRequest.Id == LobbyChannelId)
            {
                Console.WriteLine("Cannot delete designated lobby channel id " + LobbyChannelId);
                return;
            }

            var channelFromServer = channelSessions.FirstOrDefault(c => c.Channel.Id == channelFromRequest.Id);
            if (channelFromServer == null)
            {
                Console.WriteLine("Unable to find channel id {0} in server", channelFromRequest.Id);
                return;
            }

            channelService.DeleteChannel(channelFromServer.Channel.Id);

            foreach (var userSession in channelFromServer.UserSessions)
            {
                AddUserToChannel(userSession, 0);
            }
            channelSessions.Remove(channelFromServer);

            BroadcastAll(client, Message.Create(MessageType.GetAllChannelsResponse, channelSessions), true);
        }
Ejemplo n.º 10
0
        private void CredentialRequestHandler(NetworkClient client, Message message)
        {
            try
            {
                var credential = message.GetData<UserInfo>();
                // Handle credential authorization
                if (string.IsNullOrWhiteSpace(credential.Username))
                {
                    var userSession = new UserSession();
                    userSession.UserInfo = new UserInfo() { Username = "******" + new Random().Next(10000) };
                    CredentialRequestHandlerSuccess(client, userSession);
                }

                if (userService.IsUserAuthenticated(credential.Username, credential.Password))
                {
                    var userSession = new UserSession();
                    userSession.UserInfo = userService.GetUserByUsername(credential.Username);
                    CredentialRequestHandlerSuccess(client, userSession);
                }

                CredentialRequestHandlerFail(client);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                CredentialRequestHandlerFail(client);
            }
        }
Ejemplo n.º 11
0
 private void CreateUserRequestHandler(NetworkClient client, Message message)
 {
     try
     {
         userService.CreateUser(message.GetData<UserInfo>());
         client.WriteMessage(Message.Create(MessageType.CreateUserResponse,
             new SimpleResponse() { Success = true, Message = "User created" }));
     }
     catch (Exception ex)
     {
         client.WriteMessage(Message.Create(MessageType.CreateUserResponse,
             new SimpleResponse() { Success = false, Message = ex.Message }));
     }
 }
Ejemplo n.º 12
0
 private void CreateChannelRequestHandler(NetworkClient client, Message message)
 {
     var channelToCreate = message.GetData<Channel>();
     var createdChannel = channelService.CreateChannel(channelToCreate.Name);
     var createdChannelSession = new ChannelSession(createdChannel);
     AddChannel(createdChannelSession);
     BroadcastAll(client, Message.Create(MessageType.CreateChannelResponse, createdChannelSession), true);
 }