using System;
using GalaSoft.MvvmLight.Messaging;
namespace SchoolSample.Common
{
public class AppMessages
{
enum MessageTypes
{
RaiseError,
PleaseConfirm,
StatusUpdate,
BeginEdit,
CancelEdit,
EndEdit
}
public static class RaiseErrorMessage
{
public static void Send(Exception ex)
{
Messenger.Default.Send(ex, MessageTypes.RaiseError);
}
public static void Register(object recipient, Action<Exception> action)
{
Messenger.Default.Register(recipient, MessageTypes.RaiseError, action);
}
}
public static class PleaseConfirmMessage
{
public static void Send(DialogMessage dialogMessage)
{
Messenger.Default.Send(dialogMessage, MessageTypes.PleaseConfirm);
}
public static void Register(object recipient, Action<DialogMessage> action)
{
Messenger.Default.Register(recipient, MessageTypes.PleaseConfirm, action);
}
}
public static class StatusUpdateMessage
{
public static void Send(DialogMessage dialogMessage)
{
Messenger.Default.Send(dialogMessage, MessageTypes.StatusUpdate);
}
public static void Register(object recipient, Action<DialogMessage> action)
{
Messenger.Default.Register(recipient, MessageTypes.StatusUpdate, action);
}
}
public static class BeginEditMessage
{
public static void Send(string screenName)
{
Messenger.Default.Send(screenName, MessageTypes.BeginEdit);
}
public static void Register(object recipient, Action<string> action)
{
Messenger.Default.Register(recipient, MessageTypes.BeginEdit, action);
}
}
public static class CancelEditMessage
{
public static void Send(string screenName)
{
Messenger.Default.Send(screenName, MessageTypes.CancelEdit);
}
public static void Register(object recipient, Action<string> action)
{
Messenger.Default.Register(recipient, MessageTypes.CancelEdit, action);
}
}
public static class EndEditMessage
{
public static void Send(string screenName)
{
Messenger.Default.Send(screenName, MessageTypes.EndEdit);
}
public static void Register(object recipient, Action<string> action)
{
Messenger.Default.Register(recipient, MessageTypes.EndEdit, action);
}
}
}
}