public static UserDto Convert(User user) { return new UserDto { Name = user.Name, Token = user.Token }; }
public UserDto RegisterUser(string userName, string password) { using (var ctx = new RestAppDbContext()) { var user = from u in ctx.Users where u.Name == userName select u; if (user.Count() != 0) { throw new FaultException<AlreadyRegisteredException>(new AlreadyRegisteredException()); } var newUser = new User { Name = userName, Password = password }; ctx.Users.Add(newUser); ctx.SaveChanges(); return UserDto.Convert(newUser); } }
private void JoinRoom(string command) { string id; string userName; string roomName; string response; string[] cmd_parts = command.Split(Config.SEPERATOR); id = cmd_parts[0]; userName = cmd_parts[1]; roomName = cmd_parts[2]; User user = new User(userName); Room room = new Room(roomName); user = allUsers[allUsers.IndexOf(user)]; if (allRooms.Contains(room)) { room = allRooms[allRooms.IndexOf(room)]; } else { allRooms.Add(room); } room.Users.Add(user); response = Config.GenerateCommand(Config.CMD.JOIN_ROOM_RESPONSE, id, "OK"); queueManager.SendToResponseQueue(response); }
private void VerifyAndLockUsername(string command) { string id; string userName; string[] cmd_parts = command.Split(Config.SEPERATOR); string response; id = cmd_parts[0]; userName = cmd_parts[1]; User cmdUser = new User(userName); if (lockedUsers.Contains(cmdUser) || allUsers.Contains(cmdUser)) { response = "EXISTS"; } else { lockedUsers.Add(cmdUser); response = "OK"; } string cmdResp = Config.GenerateCommand(Config.CMD.VAL_USERNAME_REPONSE, id, response); queueManager.SendToResponseQueue(cmdResp); }
private void ReleaseUsername(string command) { string id; string userName; string[] cmd_parts = command.Split(Config.SEPERATOR); id = cmd_parts[0]; userName = cmd_parts[1]; User user = new User(userName); lockedUsers.Remove(user); }
//TO DO:ChatSocket private void LoginRequest(string command) { string id; string userName; string serverIP; string clientIP; string message; string[] cmd_parts = command.Split(Config.SEPERATOR); id = cmd_parts[1]; userName = cmd_parts[2]; serverIP = cmd_parts[3]; clientIP = cmd_parts[4]; if (Dns.GetHostEntry(Dns.GetHostName()).AddressList.Contains(IPAddress.Parse(serverIP)) || serverIP.Contains("127.0.0.1") || serverIP.Contains("localhost")) { User user = new User(userName, clientIP); //TODO: Open socket so user can connect. ConnectionManager conMan = ConnectionManager.GetInstance(); IChatConnection chatCon = conMan.Listen(clientIP); user.ChatConnection = chatCon; IList<Room> defaultRooms = new List<Room>(); defaultRooms.Add(lobby); userRooms.Add(user, defaultRooms); message = Config.GenerateCommand(Config.CMD.LOGIN_RESPONSE, id, "OK"); queueManager.SendToResponseQueue(message); } }
public Message(string text, User sender, int roomID) { Text = text; Sender = sender; RoomID = roomID; }