private void UpdateStates(IEnumerable <UserStateInfoResponse> roomStateResponseses) { if (roomStateResponseses == null) { return; } foreach (var stateInfoResponse in roomStateResponseses) { UserStateInfoViewModel vm; if (!TryGetAccountState(stateInfoResponse.AccountId, out vm)) { var isMe = _authenticationService.AccountId == stateInfoResponse.AccountId; vm = new UserStateInfoViewModel(stateInfoResponse.AccountId, stateInfoResponse.Username, isMe); UserStates.Add(vm); } vm.Update(stateInfoResponse); } OnPropertyChanged("UserStates"); }
private bool TryGetAccountState(long accountId, out UserStateInfoViewModel vm) { vm = UserStates.SingleOrDefault(x => x.AccountId == accountId); return(vm != null); }