using CommunityToolkit.Mvvm.Messaging.Messages; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Core.Interfaces.Synchronization; using gehGassiApp.Domain.Authentication; using gehGassiApp.Domain.Common; using gehGassiApp.Domain.Dogs; using gehGassiApp.Domain.Messages; using gehGassiApp.Domain.News; using gehGassiApp.Domain.Users; using gehGassiApp.Domain.Walkers; using gehGassiApp.Domain.Walks; using gehGassi.Dto.Messages; using gehGassiApp.Domain; using gehGassiApp.Domain.Favourites; using gehGassiApp.Domain.Payment; using gehGassiApp.Domain.Pushnotifications; namespace gehGassiApp.Core.Messaging { /// /// Message wenn sich der Online-Status der App geändert hat /// public class OnlineStatusChangedMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// OnlineStatusMessage public OnlineStatusChangedMessage(OnlineStatusMessage value) : base(value) { } } /// /// Online-Status der Applikation /// public class OnlineStatusMessage { /// /// Alter Status /// public bool WasOnline { get; set; } /// /// Neuer Status /// public bool IsOnline { get; set; } } /// /// Message wenn sich Tokens des Benutzers geändert haben. /// Betrifft Access- und Refreshtoken /// public class TokenChangedMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Ergebnis der Tokenabfrage public TokenChangedMessage(TokenResponse value) : base(value) { } } /// /// Message wenn ein Viewmodel einen Refresh machen soll und damit Daten neu lädt /// public class RefreshViewModelMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Code für das betreffende Viewmodel. Siehe Messages.cs Refresh_ public RefreshViewModelMessage(string value) : base(value) { } } /// /// Message wenn sich der Anmeldestatus eines Benutzers geändert hat /// public class UserLoginStatusChangedMessage { } /// /// Message wenn die App mit einer lokalen Push-Nachricht gestartet wurde /// public class UserLoginStatusPushChangedMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Lokale Push-Notification public UserLoginStatusPushChangedMessage(LocalPushNotificationInfo value) : base(value) { } } /// /// Message wenn ein Viewmodel einen Refresh machen soll und damit Daten neu lädt /// public class UserLoginStatusPushServerMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Server Push-Notification public UserLoginStatusPushServerMessage(ServerPushNotificationInfo value) : base(value) { } } /// /// Message wenn eine Server-Pushnotification in Android bei laufender App erhalten wurde /// public class HandlePushServerMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Server Push-Notification public HandlePushServerMessage(ServerPushNotificationInfo value) : base(value) { } } /// /// Message wenn die App aus dem Sleep Mode geholt wurde und Resume begonnen hat /// public class AppResumingMessage { } /// /// Message wenn die App aus dem Sleep Mode gekommen und fertig ist /// public class AppResumedMessage { } /// /// Message wenn in der Nachrichten-Collectionview gescrollt werden soll /// public class MessagesScrollToMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Infoo wohin gescrollt werden soll public MessagesScrollToMessage(MessagesToInfo value) : base(value) { } } /// /// Hilfsklasse die angibt wohin in den Messages gescrollt werden soll /// public class MessagesToInfo { /// /// Index der Gruppe /// public int GroupIndex { get; set; } /// /// Index der Nachricht /// public int MessageIndex { get; set; } /// /// Soll nach oben gescrollt werden? /// public bool ScrollToTop { get; set; } /// /// Soll das Scrolling animiert werden? /// public bool Animate { get; set; } /// /// Erstellt eine Instanz /// /// Index der Gruppe /// Index der Nachricht public MessagesToInfo(int groupIndex, int messageIndex, bool scrollToTop = false, bool animate = true) { GroupIndex = groupIndex; MessageIndex = messageIndex; ScrollToTop = scrollToTop; Animate = animate; } } /// /// Message wenn in einer Collectionview gescrollt werden soll /// public class ScrollToMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Index wohin gescrollt werden soll public ScrollToMessage(int value) : base(value) { } } /// /// Message wenn sich Daten des AppUsers geöndert haben /// public class AppUserChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Geänderter App-User public AppUserChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich das Profileines Dogwalkers geändert hat /// public class DogWalkerProfileChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Geändertes Dogwalker-Profil public DogWalkerProfileChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich eine News-Kategorien geöndert hat /// public class NewsCategoriesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Geänderte News-Kategorien public NewsCategoriesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Hunderassen geändert haben /// public class DogRacesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Geänderte hunderassen public DogRacesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich hunde geändert haben /// public class DogsChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Hunde public DogsChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Konversationen geändert haben /// public class ConversationsChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderter Konversationen public ConversationsChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich ungelesene Konversationen geändert haben /// public class ConversationsUnreadChangedMessage { } /// /// Message wenn sich Nachrichten geändert haben /// public class MessagesChangedMessage { } /// /// Message wenn sich Walk-Anfragen geändert haben /// public class WalkRequestedChangedMessage { } /// /// Message wenn sich öffentliche Anfragen geändert haben /// public class PublicWalkRequestsChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte öffentliche Anfragen public PublicWalkRequestsChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich antworten auf öffentliche Anfragen geändert haben /// public class PublicWalkResponsesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Antworten auf öffentliche Anfragen public PublicWalkResponsesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Walks geändert haben /// public class WalksChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Walks public WalksChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Verfügbarkeitszeiten eines Walkers geändert haben /// public class WalkingTimesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Verfügbarkeitszeiten public WalkingTimesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Ratings geändert haben /// public class RatingsChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Ratings public RatingsChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Favoriten geändert haben /// public class FavouritesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Favoriten public FavouritesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Systemnachrichten geändert haben /// public class SystemMessagesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Favoriten public SystemMessagesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Transaktionsgebühren geändert haben /// public class TransactionFeesChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Favoriten public TransactionFeesChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn sich Auszahlungen geändert haben /// public class PayoutsChangedMessage : ValueChangedMessage> { /// /// Erstellt eine Instanz /// /// Liste geänderte Favoriten public PayoutsChangedMessage(SyncResult value) : base(value) { } } /// /// Message wenn der Benutzer abgemeldet werden soll /// public class LogoutMessage { } /// /// Message wenn sich die AppVersion am Server geändert hat. /// Kann aber auch sein, dass keine neue Version verfügbar ist /// public class AppVersionChangedMessage { } /// /// Message wenn sich ein Abo geändert hat /// public class SubscriptionChangedMessage { } #region SignalR /// /// Message von SignalR wenn sich der App-User geändert hat /// public class SignalRAppUserChangedMessage { } /// /// Message von SignalR wenn sich der News-Kategorien geändert haben /// public class SignalRNewsCategoriesChangedMessage { } /// /// Message von SignalR wenn sich der Systemnachrichten geändert haben /// public class SignalRSystemMessagesChangedMessage { } /// /// Message wenn sich Ratings geändert haben /// public class SignalRConversationMessageAddedMessage : ValueChangedMessage { /// /// Erstellt eine Instanz /// /// Id der Kovnersation public SignalRConversationMessageAddedMessage(string value) : base(value) { } } #endregion }