diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/EquipmentPage.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/EquipmentPage.razor index 3489cc2c..cdbd28dd 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/EquipmentPage.razor +++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/EquipmentPage.razor @@ -145,7 +145,11 @@ else } - + + + + + @if (!string.IsNullOrWhiteSpace(_tagError)) { @@ -202,70 +206,93 @@ else
@_convertMessage
} - @if (_convertPreview is not null) - { -
-
- Convert relay virtual-tags to aliases - -
-
-
Will convert (@_convertPreview.Converted.Count)
- @if (_convertPreview.Converted.Count == 0) - { -

No relay virtual-tags to convert.

- } - else - { - - - - @foreach (var c in _convertPreview.Converted) - { - - - - - - } - -
Virtual tagFull nameData type
@c.VirtualTagName@c.FullName@c.DataType
- } + + + @if (!string.IsNullOrWhiteSpace(_convertError)) + { +
@_convertError
+ } -
Skipped (@_convertPreview.Skipped.Count)
- @if (_convertPreview.Skipped.Count == 0) - { -

Nothing skipped.

- } - else - { - - - - @foreach (var s in _convertPreview.Skipped) - { - - - - - } - -
Virtual tagReason
@s.VirtualTagName@s.Reason
- } + @if (_convertPreview is not null) + { +
+
+ Convert relay virtual-tags to aliases + +
+
+
Will convert (@_convertPreview.Converted.Count)
+ @if (_convertPreview.Converted.Count == 0) + { +

No relay virtual-tags to convert.

+ } + else + { + + + + @foreach (var c in _convertPreview.Converted) + { + + + + + + } + +
Virtual tagFull nameData type
@c.VirtualTagName@c.FullName@c.DataType
+ } -
- @if (_convertPreview.Converted.Count > 0) - { - - } - -
-
-
- } +
Skipped (@_convertPreview.Skipped.Count)
+ @if (_convertPreview.Skipped.Count == 0) + { +

Nothing skipped.

+ } + else + { + + + + @foreach (var s in _convertPreview.Skipped) + { + + + + + } + +
Virtual tagReason
@s.VirtualTagName@s.Reason
+ } + +
+ @if (_convertPreview.Converted.Count > 0) + { + @if (!_convertConfirming) + { + + } + else + { + Convert @_convertPreview.Converted.Count relay virtual-tag(s)? + + + } + } + @if (!_convertConfirming) + { + + } +
+
+
+ } + + ? _vtags; @@ -524,26 +555,32 @@ else private async Task PreviewConvertRelaysAsync() { _convertMessage = null; + _convertError = null; + _convertConfirming = false; _convertBusy = true; try { _convertPreview = await Svc.ConvertRelayVirtualTagsToAliasesAsync(EquipmentId!, dryRun: true); } + catch (Exception ex) { _convertPreview = null; _convertError = ex.Message; } finally { _convertBusy = false; } } private async Task ApplyConvertRelaysAsync() { _convertBusy = true; + _convertError = null; try { var r = await Svc.ConvertRelayVirtualTagsToAliasesAsync(EquipmentId!, dryRun: false); _convertPreview = null; + _convertConfirming = false; _convertMessage = $"Converted {r.Converted.Count}, skipped {r.Skipped.Count}."; // The converted virtual tags become aliases, so both lists change. await ReloadTagsAsync(); await ReloadVirtualTagsAsync(); } + catch (Exception ex) { _convertError = ex.Message; _convertConfirming = false; } finally { _convertBusy = false; } } @@ -649,9 +686,11 @@ else _tags = null; _vtags = null; _alarms = null; - // Drop any open relay-conversion preview/summary so it can't leak across equipment changes. + // Drop any open relay-conversion preview/summary/confirm so it can't leak across equipment changes. _convertPreview = null; _convertMessage = null; + _convertError = null; + _convertConfirming = false; if (!IsNew) { _equipment = await Svc.LoadEquipmentAsync(EquipmentId!); diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/RelayAliasConvert.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/RelayAliasConvert.razor index ae769a8e..4b77bbef 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/RelayAliasConvert.razor +++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Uns/RelayAliasConvert.razor @@ -52,7 +52,7 @@ @foreach (var c in _preview.Converted) { - + @c.EquipmentId @c.VirtualTagName @c.FullName @@ -79,7 +79,7 @@ @foreach (var s in _preview.Skipped) { - + @s.EquipmentId @s.VirtualTagName @s.Reason