public async Task <List <ChatNachricht> > GetNachrichtenAsync(Angebot angebot, bool onlyNewOnes) { await InitReadConnectionAsync(); List <ChatNachricht> neueNachrichten = new List <ChatNachricht>(); try { var nachrichtenItems = await _readConnection.ObjectService.ListObjectsAsync(_readConnection.Bucket, new ListObjectsOptions() { Prefix = "Nachrichten/" + _loginService.AnbieterId + "/" + angebot.Id + "/", Recursive = true }); foreach (var nachrichtItem in nachrichtenItems.Items) { if (nachrichtItem.IsPrefix || nachrichtItem.Key.Contains("Token")) { continue; } var nachricht = await LoadNachrichtAsync(nachrichtItem.Key); if (nachricht != null) { if (!string.IsNullOrEmpty(nachricht.TechnischerNachrichtenTyp) && nachricht.TechnischerNachrichtenTyp == Reservierung.TECHNISCHER_NACHRICHTENTYP) { await _reservierungService.ReservierungBestaetigenAsync(Newtonsoft.Json.JsonConvert.DeserializeObject <Reservierung>(nachricht.Nachricht)); } _chatBufferService.BufferNachricht(angebot, nachricht, null, true); neueNachrichten.Add(nachricht); } } }catch { } if (onlyNewOnes) { return(neueNachrichten); } else { return(_chatBufferService.GetNachrichten(angebot).OrderByDescending(n => n.SendeDatum).ToList()); } }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { var deferral = args.GetDeferral(); var pruefFehler = await _reservierungService.CheckReservierungAsync(_vm.Reservierung); if (!string.IsNullOrEmpty(pruefFehler)) { args.Cancel = true; MessageDialog error = new MessageDialog(pruefFehler, "Fehler"); await error.ShowAsync(); deferral.Complete(); return; } var saved = await _reservierungService.SaveReservierungAsync(_vm.Reservierung); if (!saved) { args.Cancel = true; MessageDialog error = new MessageDialog("Fehler beim Speichern der Reservierung - bitte später noch einmal versuchen.", "Fehler"); await error.ShowAsync(); deferral.Complete(); return; } await _reservierungService.ReservierungBestaetigenAsync(_vm.Reservierung); BefehlsNachricht = new ChatNachricht(); BefehlsNachricht.AngebotID = _angebot.Id; BefehlsNachricht.EmpfaengerAnbieterID = _vm.Reservierung.AusleiherID; BefehlsNachricht.TechnischerNachrichtenTyp = "Reservierung"; BefehlsNachricht.SenderAnbieterID = _angebot.AnbieterId; BefehlsNachricht.Nachricht = Newtonsoft.Json.JsonConvert.SerializeObject(_vm.Reservierung); BefehlsNachricht.SendeDatum = DateTime.Now; await _chatService.SendNachrichtAsync(_angebot, BefehlsNachricht, _chatInfo.NachrichtenAccess, false); try { deferral.Complete(); }catch { } }