Files
OpenPackager/OpenPackager/Components/MessageHandler.cs

118 lines
5.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace OpenPackager
{
public class MessageHandler
{
// Call error messages by specifying an enum code
public enum msgCodes
{
ERR_Test,
ERR_PackageCreationFail,
ERR_PackageValidation,
INF_CreationWiz2_PkgValidated,
INF_NotYetImplemented,
INF_CreationWiz2_FinishedNoErr,
ERR_ShutdownCleanupFailed,
ERR_XMLError,
ERR_InstallerWiz1_BadDir,
ERR_InstallerWiz1__LicAgreementNotAccepted,
Err_InstallerWiz2_InstallAborted,
Err_InstallerWiz2_ExtractError,
Err_InstallerWiz2_BadPackage,
Err_InstallerWiz2_FSAccessError
}
/// <summary>
/// Create an error message dialogue box.
/// </summary>
/// <param name="mc"></param>
/// <param name="info"></param>
internal void errorMessage(msgCodes mc, string info)
{
switch (mc)
{
case msgCodes.ERR_Test:
MessageBox.Show("This is a sample error message", "Sample Error Message", MessageBoxButton.OK, MessageBoxImage.Error);
break;
case msgCodes.ERR_PackageCreationFail:
MessageBox.Show("Package creation failed with one or more errors.",
"Package Failed", MessageBoxButton.OK, MessageBoxImage.Error);
break;
case msgCodes.ERR_PackageValidation:
MessageBox.Show("One or more entries are invalid; please check the parameters specified for this package and try again. Errors detected have been highlighted to your left in yellow.",
"Invalid Parameters", MessageBoxButton.OK, MessageBoxImage.Error);
break;
case msgCodes.ERR_ShutdownCleanupFailed:
MessageBox.Show("There was a problem shutting down Open Packager, please ensure you have administrative privileges.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Error);
break;
case msgCodes.ERR_XMLError:
MessageBox.Show("Unable to read configuration file for package. This archive may be corrupt or invalid.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Exclamation);
break;
case msgCodes.ERR_InstallerWiz1_BadDir:
MessageBox.Show("The path you've specified is invalid.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Error);
break;
case msgCodes.ERR_InstallerWiz1__LicAgreementNotAccepted:
MessageBox.Show("You must accept the licence agreement to continue.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Exclamation);
break;
case msgCodes.Err_InstallerWiz2_InstallAborted:
MessageBox.Show("The installation has been aborted.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Exclamation);
break;
case msgCodes.Err_InstallerWiz2_ExtractError:
MessageBox.Show("There was a problem extracting the package. If password protected, ensure the password is correct and that 7-Zip is installed.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Exclamation);
break;
case msgCodes.Err_InstallerWiz2_BadPackage:
MessageBox.Show(String.Format("There is a problem with the consistency of {0}. Please obtain a new copy.", info),
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Error);
break;
case msgCodes.Err_InstallerWiz2_FSAccessError:
MessageBox.Show("Unable to write to disk, ensure you are running as an Administrator.",
"Open Packager", MessageBoxButton.OK, MessageBoxImage.Error);
break;
}
}
/// <summary>
/// Create an informational message dialogue box.
/// </summary>
/// <param name="mc"></param>
/// <param name="info"></param>
/// <returns></returns>
internal int stdMessage(msgCodes mc, string info)
{
switch(mc)
{
case msgCodes.INF_CreationWiz2_PkgValidated:
MessageBoxResult msb = MessageBox.Show("Your package is now ready to be created! Click the Create Package button to proceed.", "Package Ready",
MessageBoxButton.OKCancel, MessageBoxImage.Question);
if (msb == MessageBoxResult.OK)
{
return 1; // Return non-default response
}
break;
case msgCodes.INF_NotYetImplemented:
MessageBox.Show("This feature has not yet been implemented.", "Information", MessageBoxButton.OK, MessageBoxImage.Stop);
break;
case msgCodes.INF_CreationWiz2_FinishedNoErr:
MessageBox.Show("Your package was created successfully!",
"Package Created", MessageBoxButton.OK, MessageBoxImage.Information);
break;
}
return 0; // Return default response
}
}
}