118 lines
5.6 KiB
C#
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
|
|
}
|
|
}
|
|
}
|