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
}