修正合并Develop分支后的一些问题。

PMModule对象中订阅的DI206EqualsTrue_OR_DO177EqualsTrue数据标记为忽略保存到数据库。
This commit is contained in:
SL 2023-10-02 10:17:19 +08:00
parent 3531413790
commit f131f3b270
2 changed files with 23 additions and 8 deletions

View File

@ -482,7 +482,7 @@ namespace SicModules.PMs
DATA.Subscribe($"{Module}.Status", () => StringFsmStatus.Replace("0", "").Replace("1", "").Replace("2", ""));
DATA.Subscribe($"{Module}.IsOnline", () => IsOnline);
DATA.Subscribe($"{Module}.IsService", () => IsServiceIdle);
DATA.Subscribe($"{Module}.DI206EqualsTrue_OR_DO177EqualsTrue", () => DI206EqualsTrue_OR_DO177EqualsTrue);
DATA.Subscribe($"{Module}.DI206EqualsTrue_OR_DO177EqualsTrue", () => DI206EqualsTrue_OR_DO177EqualsTrue, SubscriptionAttribute.FLAG.IgnoreSaveDB);
DATA.Subscribe($"{Module}.IsAlarm", () => IsAlarm);
DATA.Subscribe($"{Module}.IsWarning", () => IsWarning);

View File

@ -28,8 +28,10 @@ using System.Diagnostics;
using System.Threading.Tasks;
using Caliburn.Micro.Core;
using MECF.Framework.Common.Account.Permissions;
using MECF.Framework.Common.Equipment;
using MECF.Framework.UI.Client.ClientBase.Dialog;
using MECF.Framework.UI.Client.Core;
using MECF.Framework.UI.Client.Ctrlib.Controls;
namespace SicUI.Client
{
@ -458,20 +460,33 @@ namespace SicUI.Client
#endregion
public void SetModuleOnline(string module)
public void SetModuleOnline(object sender, RoutedEventArgs args)
{
if (MessageBoxResult.Yes == MessageBox.Show($"Set {module} Online ?", "", MessageBoxButton.YesNo, MessageBoxImage.Warning))
if (sender is ModuleStatusIndicator indicator)
{
InvokeClient.Instance.Service.DoOperation($"{module}.SetOnline");
}
if (indicator.HasWarning)
{
DialogBox.ShowError($"Unable to set {indicator.Caption} online since {indicator.WarningTip}");
return;
}
if (MessageBoxResult.Yes == MessageBox.Show($"Set {indicator.Caption} Online?", "", MessageBoxButton.YesNo,
MessageBoxImage.Warning))
{
InvokeClient.Instance.Service.DoOperation($"{indicator.ModuleName}.SetOnline");
}
}
}
public void SetModuleOffline(string module)
public void SetModuleOffline(object sender, RoutedEventArgs args)
{
if (MessageBoxResult.Yes == MessageBox.Show($"Set {module} Offline ?", "", MessageBoxButton.YesNo, MessageBoxImage.Warning))
if (sender is ModuleStatusIndicator indicator)
{
InvokeClient.Instance.Service.DoOperation($"{module}.SetOffline");
if (MessageBoxResult.Yes == MessageBox.Show($"Set {indicator.Caption} Offline?", "", MessageBoxButton.YesNo,
MessageBoxImage.Warning))
{
InvokeClient.Instance.Service.DoOperation($"{indicator.ModuleName}.SetOffline");
}
}
}