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
- {
-
- | Virtual tag | Full name | Data type |
-
- @foreach (var c in _convertPreview.Converted)
- {
-
- | @c.VirtualTagName |
- @c.FullName |
- @c.DataType |
-
- }
-
-
- }
+
+
+ @if (!string.IsNullOrWhiteSpace(_convertError))
+ {
+ @_convertError
+ }
- Skipped (@_convertPreview.Skipped.Count)
- @if (_convertPreview.Skipped.Count == 0)
- {
- Nothing skipped.
- }
- else
- {
-
- | Virtual tag | Reason |
-
- @foreach (var s in _convertPreview.Skipped)
- {
-
- | @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
+ {
+
+ | Virtual tag | Full name | Data type |
+
+ @foreach (var c in _convertPreview.Converted)
+ {
+
+ | @c.VirtualTagName |
+ @c.FullName |
+ @c.DataType |
+
+ }
+
+
+ }
-
- @if (_convertPreview.Converted.Count > 0)
- {
-
- }
-
-
-
-
- }
+ Skipped (@_convertPreview.Skipped.Count)
+ @if (_convertPreview.Skipped.Count == 0)
+ {
+ Nothing skipped.
+ }
+ else
+ {
+
+ | Virtual tag | Reason |
+
+ @foreach (var s in _convertPreview.Skipped)
+ {
+
+ | @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 |