private void ShowAddClientDialog() { _dialogService.ShowDialog(nameof(ClientAddingDialog), new DialogParameters { { "ClientViewModel", new ClientViewModel(new Client(), _bankEntities) } }, async r => { if (r.Result == ButtonResult.OK) { var addedClientVm = r.Parameters.GetValue <ClientViewModel>("AddedClientViewModel"); _bankEntities.Clients.Add(addedClientVm.Entity); await _bankEntities.SaveChangesAsync(CancellationToken.None); ClientViewModels.Add(addedClientVm); } }); }
private void OnClientConnected(ClientDto clientDto) { if (Clients.TryGetValue(clientDto.ClientId, out var clientViewModel)) { UpdateClientViewModel(clientViewModel, clientDto); } else { clientViewModel = new DefaultClientViewModel(clientDto); if (Clients.TryAdd(clientDto.ClientId, clientViewModel)) { _appDispatcher.Current.BeginInvoke(DispatcherPriority.Background, (Action)(() => ClientViewModels.Add(clientViewModel))); } } }