Exemple #1
0
 public static UserDto Convert(User user)
 {
     return new UserDto
     {
         Name = user.Name,
         Token = user.Token
     };
 }
Exemple #2
0
 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);
     }
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        //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);
            }
        }
Exemple #7
0
 public Message(string text, User sender, int roomID)
 {
     Text = text;
     Sender = sender;
     RoomID = roomID;
 }