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); }
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); }
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); } }
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); }
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); }
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 })); } }
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); }
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); }
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); }
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); } }
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 })); } }
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); }