增加MessageBoxService服务
This commit is contained in:
1 parent
3dcb6a1c34
commit
30a6a5ea24
15 files changed
+517
-153
No files matched your search
@@ -0,0 +1,124 @@
|
||||
using MAX.Core.DependencyInjection;
|
||||
using Store.Management.Framework.Configs;
|
||||
using System.Windows;
|
||||
using MessageBox = HandyControl.Controls.MessageBox;
|
||||
|
||||
namespace Store.Management.Framework
|
||||
{
|
||||
public class MessageBoxService : IMessageBoxService, ISingletonDependency
|
||||
{
|
||||
protected readonly Guid id = Guid.NewGuid();
|
||||
|
||||
public string MessageTitle { get; set; } = string.Empty;
|
||||
|
||||
public MessageBoxService()
|
||||
{
|
||||
MessageTitle = AppConfig.AppDisplayName;
|
||||
}
|
||||
|
||||
public virtual MessageResult Show(string messageBoxText, string caption, MessageButton button, MessageIcon icon, MessageResult defaultResult)
|
||||
{
|
||||
Window? window = Application.Current?.Windows.OfType<Window>().FirstOrDefault(w => w.IsActive);
|
||||
if (window is null)
|
||||
{
|
||||
return MessageBox.Show(
|
||||
messageBoxText: messageBoxText,
|
||||
caption: caption,
|
||||
button: button.ToMessageBoxButton(),
|
||||
icon: icon.ToMessageBoxImage(),
|
||||
defaultResult: defaultResult.ToMessageBoxResult()
|
||||
).ToMessageResult();
|
||||
}
|
||||
else
|
||||
{
|
||||
return MessageBox.Show(
|
||||
owner: window,
|
||||
messageBoxText: messageBoxText,
|
||||
caption: caption,
|
||||
button: button.ToMessageBoxButton(),
|
||||
icon: icon.ToMessageBoxImage(),
|
||||
defaultResult: defaultResult.ToMessageBoxResult()
|
||||
).ToMessageResult();
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowInformation(string content)
|
||||
{
|
||||
this.ShowMessage(content, MessageTitle, MessageButton.OK, MessageIcon.Information, MessageResult.OK);
|
||||
}
|
||||
|
||||
public void ShowWarning(string content)
|
||||
{
|
||||
this.ShowMessage(content, MessageTitle, MessageButton.OK, MessageIcon.Warning, MessageResult.OK);
|
||||
}
|
||||
|
||||
public void ShowError(string content, Exception exception)
|
||||
{
|
||||
if (exception is null)
|
||||
{
|
||||
ShowError(content);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.ShowMessage(content + "\n" + exception.Message, MessageTitle, MessageButton.OK, MessageIcon.Error, MessageResult.OK);
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowError(string content)
|
||||
{
|
||||
this.ShowMessage(content, MessageTitle, MessageButton.OK, MessageIcon.Error, MessageResult.OK);
|
||||
}
|
||||
|
||||
public bool ShowYesNoQuestion(string content)
|
||||
{
|
||||
MessageResult result = this.ShowMessage(content, MessageTitle, MessageButton.YesNo, MessageIcon.Question, MessageResult.No);
|
||||
return result == MessageResult.Yes;
|
||||
}
|
||||
|
||||
public bool ShowYesNoWarning(string content)
|
||||
{
|
||||
MessageResult result = this.ShowMessage(content, MessageTitle, MessageButton.YesNo, MessageIcon.Warning, MessageResult.No);
|
||||
return result == MessageResult.Yes;
|
||||
}
|
||||
|
||||
public bool ShowYesNoError(string content)
|
||||
{
|
||||
MessageResult result = this.ShowMessage(content, MessageTitle, MessageButton.YesNo, MessageIcon.Error, MessageResult.No);
|
||||
return result == MessageResult.Yes;
|
||||
}
|
||||
|
||||
public bool ShowOkCancelQuestion(string content)
|
||||
{
|
||||
MessageResult result = this.ShowMessage(content, MessageTitle, MessageButton.OKCancel, MessageIcon.Question, MessageResult.OK);
|
||||
return result == MessageResult.OK;
|
||||
}
|
||||
|
||||
public bool ShowOkCancelWarning(string content)
|
||||
{
|
||||
MessageResult result = this.ShowMessage(content, MessageTitle, MessageButton.OKCancel, MessageIcon.Warning, MessageResult.OK);
|
||||
return result == MessageResult.OK;
|
||||
}
|
||||
|
||||
public bool ShowOkCancelError(string content)
|
||||
{
|
||||
MessageResult result = this.ShowMessage(content, MessageTitle, MessageButton.OKCancel, MessageIcon.Error, MessageResult.OK);
|
||||
return result == MessageResult.OK;
|
||||
}
|
||||
|
||||
public MessageResult ShowYesNoCancelQuestion(string content)
|
||||
{
|
||||
return this.ShowMessage(content, MessageTitle, MessageButton.YesNoCancel, MessageIcon.Question, MessageResult.Cancel);
|
||||
}
|
||||
|
||||
public MessageResult ShowYesNoCancelWarning(string content)
|
||||
{
|
||||
return this.ShowMessage(content, MessageTitle, MessageButton.YesNoCancel, MessageIcon.Warning, MessageResult.Cancel);
|
||||
}
|
||||
|
||||
public MessageResult ShowYesNoCancelError(string content)
|
||||
{
|
||||
return this.ShowMessage(content, MessageTitle, MessageButton.YesNoCancel, MessageIcon.Error, MessageResult.Cancel);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user