finished basics
This commit is contained in:
@@ -14,16 +14,40 @@ namespace YapperClient.MVVM.ViewModel
|
||||
class MainViewModel
|
||||
{
|
||||
public ObservableCollection<UserModel> Users { get; set; }
|
||||
public ObservableCollection<string> Messages { get; set; }
|
||||
public RelayCommand ConnectToServerCommand { get; set; }
|
||||
public RelayCommand SendMessageCommand { get; set; }
|
||||
|
||||
public string UserName { get; set; }
|
||||
public string Message { get; set; }
|
||||
|
||||
private Server _server;
|
||||
public MainViewModel() {
|
||||
Users = new ObservableCollection<UserModel>();
|
||||
Messages = new ObservableCollection<string>();
|
||||
|
||||
_server = new Server();
|
||||
_server.connectedEvent += UserConnected;
|
||||
_server.msgReceivedEvent += MessageReceived;
|
||||
_server.userDisconnectedEvent += RemoveUser;
|
||||
ConnectToServerCommand = new RelayCommand(o => _server.ConnectToServer(UserName), o => !string.IsNullOrEmpty(UserName));
|
||||
|
||||
SendMessageCommand = new RelayCommand(o => _server.SendMessageToServer(Message), o => !string.IsNullOrEmpty(Message));
|
||||
}
|
||||
|
||||
private void RemoveUser()
|
||||
{
|
||||
var uid = _server.PacketReader.ReadMessage();
|
||||
var user = Users.FirstOrDefault(x => x.UID == uid);
|
||||
|
||||
Application.Current.Dispatcher.Invoke(() => Users.Remove(user));
|
||||
}
|
||||
|
||||
|
||||
private void MessageReceived()
|
||||
{
|
||||
var msg = _server.PacketReader.ReadMessage();
|
||||
Application.Current.Dispatcher.Invoke(() => Messages.Add(msg));
|
||||
}
|
||||
|
||||
private void UserConnected()
|
||||
|
||||
Reference in New Issue
Block a user