예제 #1
0
        private static void ProcessUserInput(char userInput)
        {
            if (userInput == '0')
            {
                return;
            }
            int selction;

            if (int.TryParse(userInput.ToString(), out selction) == false)
            {
                return;
            }
            if (receivedMessages.Count < selction)
            {
                return;
            }
            UserInfo selectedUserInfo = receivedMessages[selction - 1] as UserInfo;

            if (selectedUserInfo == null)
            {
                return;
            }
            Console.WriteLine();
            Console.Write("Enter Message : ");
            UIStatus = EUIStatus.WaitingForMessageInput;
            string message = Console.ReadLine();

            CommunicationManager.CommMgr.SendTextMessage(selectedUserInfo.IPAddress, message);
        }
예제 #2
0
        public void Notify(object data)
        {
            if (data == null)
            {
                return;
            }
            if (data is UserInfo)
            {
                receivedMessages.Add(data);
            }
            else if (data is TextMessageData)
            {
                TextMessageQueue.Enqueue(data as TextMessageData);
            }

            if (UIStatus == EUIStatus.WaitingForUserSelection)
            {
                Console.Clear();
                UIStatus = EUIStatus.ShowingReceicvedMessages;
                ShowRecivedMessages();
                UIStatus = EUIStatus.ShowingMenu;
                ShowSelectionMenu();
                UIStatus = EUIStatus.WaitingForUserSelection;
            }
        }
예제 #3
0
        public void Notify(object data)
        {
            if (data == null)
            {
                return;
            }
            if (data is UserInfo)
            {
                receivedMessages.Add(data);
            }
            else if (data is TextMessageData)
            {
                TextMessageQueue.Enqueue(data as TextMessageData);
            }

            if (UIStatus == EUIStatus.WaitingForUserSelection)
            {
                Console.Clear();
                UIStatus = EUIStatus.ShowingReceicvedMessages;
                ShowRecivedMessages();
                UIStatus = EUIStatus.ShowingMenu;
                ShowSelectionMenu();
                UIStatus = EUIStatus.WaitingForUserSelection;
            }
        }
예제 #4
0
        static void Main(string[] args)
        {
            SocketCommService.SubscribeForUserInfos(new Program());
            SocketCommService.SubscribeForTextMessages(new Program());

            do
            {
                UIStatus = EUIStatus.ShowingReceicvedMessages;
                ShowRecivedMessages();
                UIStatus = EUIStatus.ShowingMenu;
                ShowSelectionMenu();
                UIStatus = EUIStatus.WaitingForUserSelection;
                char userInput = GetUserInput();
                UIStatus = EUIStatus.ProcessingUserSelction;
                ProcessUserInput(userInput);
                Console.Clear();
            }while (true);
        }
예제 #5
0
        static void Main(string[] args)
        {
            SocketCommService.SubscribeForUserInfos(new Program());
            SocketCommService.SubscribeForTextMessages(new Program());

            do
            {
                UIStatus = EUIStatus.ShowingReceicvedMessages;
                ShowRecivedMessages();
                UIStatus = EUIStatus.ShowingMenu;
                ShowSelectionMenu();
                UIStatus = EUIStatus.WaitingForUserSelection;
                char userInput = GetUserInput();
                UIStatus = EUIStatus.ProcessingUserSelction;
                ProcessUserInput(userInput);
                Console.Clear();
            }
            while (true);
        }
예제 #6
0
 private static void ProcessUserInput(char userInput)
 {
     if (userInput == '0')
     {
         return;
     }
     int selction;
     if (int.TryParse(userInput.ToString(), out selction) == false)
     {
         return;
     }
     if (receivedMessages.Count < selction)
     {
         return;
     }
     UserInfo selectedUserInfo = receivedMessages[selction - 1] as UserInfo;
     if (selectedUserInfo == null)
     {
         return;
     }
     Console.WriteLine();
     Console.Write("Enter Message : ");
     UIStatus = EUIStatus.WaitingForMessageInput;
     string message = Console.ReadLine();
     CommunicationManager.CommMgr.SendTextMessage(selectedUserInfo.IPAddress, message);
 }