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