public void UpdateGuiWithNewMessage(string message) { App.Current.Dispatcher.Invoke(() => { string name = message.Split(':')[0]; if (!Users.Contains(name)) { Users.Add(name); } Nachrichten.Add(message); RaisePropertyChanged("NoOfReceivedMessages"); }); }
private async void _chatPollingService_NachrichtErhalten(Angebot angebot, ChatNachricht nachricht) { if (angebot.Id != AngebotViewModel.Angebot.Id || nachricht.SenderAnbieterID == _loginService.AnbieterId) { return; } await _coreDispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { var neueNachricht = new ChatNachrichtViewModel(nachricht) { IchBinEmpfaenger = true }; Nachrichten.Add(neueNachricht); ScrollToChatNachricht?.Invoke(neueNachricht); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Ungelesen))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(NeuesteNachricht))); }); }
public async Task SendNachricht() { var includeForeignAccess = Nachrichten.Count == 0; ChatNachricht nachricht = new ChatNachricht(); nachricht.AngebotID = AngebotViewModel.Angebot.Id; nachricht.Nachricht = NachrichtComposer; nachricht.SendeDatum = DateTime.Now; nachricht.SenderAnbieterID = _loginService.AnbieterId; nachricht.EmpfaengerAnbieterID = _chatInfo.GegenseiteAnbieterID; await _chatService.SendNachrichtAsync(AngebotViewModel.Angebot, nachricht, _chatInfo.NachrichtenAccess, includeForeignAccess); var neueNachricht = new ChatNachrichtViewModel(nachricht) { IchWarSender = true }; Nachrichten.Add(neueNachricht); NachrichtComposer = ""; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(NachrichtComposer))); ScrollToChatNachricht?.Invoke(neueNachricht); }
public static void InitNachrichten() { fNeueNachricht = new Nachrichten(); }