Готов Wizard
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 12s

This commit is contained in:
2026-07-14 17:45:41 +03:00
parent 2883b537ab
commit fa9fd1e06a
11 changed files with 88 additions and 59 deletions
+4 -4
View File
@@ -8,10 +8,10 @@
public string? Description { get; set; }
public string? Name { get; set; }
public string? Location { get; set; }
public List<DeviceItems>? ListDevices { get; set; }
public DeviceTypeItems? DeviceType { get; set; }
public ObjectItems? DeviceObject { get; set; }
public Guid ConnectedToSwitchId { get; set; }
public List<Guid>? ListDevices { get; set; }
public Guid? DeviceType { get; set; }
public Guid? DeviceObject { get; set; }
public Guid? ConnectedToSwitchId { get; set; }
public int ConnectedToPortOnSwitch { get; set; }
}
+69 -40
View File
@@ -44,6 +44,9 @@
<Button Color="Color.Primary" Clicked="@AddNewObject">
<Icon Name="IconName.Add" />
</Button>
<Button Color="Color.Primary" Clicked="@GetCurrentObject">
<Icon Name="IconName.Redo" />
</Button>
</Field>
</CardText>
</CardBody>
@@ -142,7 +145,7 @@
<AddonLabel Width="Width.Is25">IP</AddonLabel>
</Addon>
<Addon AddonType="AddonType.Body">
<InputMask @bind-Value="dev_ip" Width="Width.Is50" Mask="999.999.999.999" MaskPlaceholder="X" Placeholder="Введите IP" />
<InputMask @bind-Value="dev_ip" Width="Width.Is50" Placeholder="Введите IP" />
</Addon>
</Addons>
<Addons Size="Size.Small">
@@ -150,7 +153,7 @@
<AddonLabel Width="Width.Is25">MAC</AddonLabel>
</Addon>
<Addon AddonType="AddonType.Body">
<InputMask @bind-Value="dev_mac" Width="Width.Is50" Mask="****-****-****" MaskPlaceholder="X" Placeholder="Введите MAC" />
<InputMask @bind-Value="dev_mac" Width="Width.Is50" Placeholder="Введите MAC" />
</Addon>
</Addons>
<Addons Size="Size.Small">
@@ -211,18 +214,18 @@
</Addon>
<Addon AddonType="AddonType.Body">
<Select Width="Width.Is50" TValue="Guid" @bind-Value="@id_dev">
<SelectItem Value="999">коммутатор</SelectItem>
<SelectItem Value="999">Коммутатор</SelectItem>
@foreach (var sel in _list_switch)
{
<SelectItem Value="@sel.Id">@sel.Name</SelectItem>
}
</Select>
</Addon>
<Addon AddonType="AddonType.End">
@* <Addon AddonType="AddonType.End">
<Button Clicked="@RefreshListSwitch">
<Icon Name="IconName.Undo" />
</Button>
</Addon>
</Addon> *@
</Addons>
<Addons Size="Size.Small">
<Addon AddonType="AddonType.Start">
@@ -246,7 +249,6 @@
<TableRow>
<TableHeaderCell>Имя</TableHeaderCell>
<TableHeaderCell>Адрес</TableHeaderCell>
<TableHeaderCell>Тип</TableHeaderCell>
</TableRow>
</TableHeader>
<TableBody>
@@ -255,7 +257,6 @@
<TableRow>
<TableRowCell>@item.Name</TableRowCell>
<TableRowCell>@item.Ip</TableRowCell>
<TableRowCell>@item.DeviceType.Name</TableRowCell>
</TableRow>
}
</TableBody>
@@ -272,7 +273,7 @@
<Card>
<CardBody>
<CardTitle TextAlignment="TextAlignment.Center">
ОБЪЕКТЫ
ОБЪЕКТЫ
</CardTitle>
<CardText>
Объектов к добавлению - @_list_obj.Count
@@ -372,13 +373,12 @@
return Task.FromResult(true);
}
private void RefreshListSwitch()
{
_list_switch = _list_dev.Where(s => s.DeviceType.Name.Contains("Switch")).ToList();
}
private async void AddNewObject()
{
if (obj_name == null)
{
return;
}
obj_item = new()
{
Id = Guid.NewGuid(),
@@ -391,6 +391,10 @@
}
private async void AddNewType()
{
if (type_name == null)
{
return;
}
type_item = new()
{
Id = Guid.NewGuid(),
@@ -403,6 +407,8 @@
}
private async void AddNewDev()
{
if (dev_ip == null || dev_mac == null || dev_name == null) return;
dev_item = new()
{
Id = Guid.NewGuid(),
@@ -411,12 +417,13 @@
Description = dev_desc,
Name = dev_name,
Location = dev_loc,
DeviceType = _list_type.SingleOrDefault(t => t.Id == id_type),
DeviceObject = _list_obj.SingleOrDefault(o => o.Id == id_obj),
ListDevices = null,
DeviceType = _list_type.Single(t => t.Id == id_type).Id,
DeviceObject = _list_obj.Single(o => o.Id == id_obj).Id,
ConnectedToPortOnSwitch = num_port
};
_list_dev.Add(dev_item);
if (dev_item.DeviceType.Name.Contains("Switch")) _list_switch.Add(dev_item);
if (list_type.First(d => d.Id == dev_item.DeviceType).Name.Contains("Switch")) _list_switch.Add(dev_item);
dev_ip = string.Empty;
dev_mac = string.Empty;
dev_desc = string.Empty;
@@ -426,41 +433,63 @@
private async void clickSave()
{
if (nextButton == "Далее") stepsRef.NextStep();
if (nextButton == "Далее") await stepsRef.NextStep();
else
{
visibleProgress = Visibility.Visible;
foreach (var item in _list_obj)
try
{
var p = await AllPubData.http.PostAsJsonAsync("api/Object/AddObject", item);
if (!p.IsSuccessStatusCode)
foreach (var item in _list_obj)
{
error_group = "ОБЪЕКТ";
error_msg = $"{item.NameObject} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
var p = await AllPubData.http.PostAsJsonAsync("api/Object/AddObject", item);
if (!p.IsSuccessStatusCode)
{
error_group = "ОБЪЕКТ";
error_msg = $"{item.NameObject} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
//await Task.Delay(500);
}
}
foreach (var item in _list_type)
{
var p = await AllPubData.http.PostAsJsonAsync("api/Type/AddType", item);
if (!p.IsSuccessStatusCode)
{
error_group = "ТИП";
error_msg = $"{item.Name} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
//await Task.Delay(500);
}
}
foreach (var item in _list_dev)
{
var p = await AllPubData.http.PostAsJsonAsync("api/Device/AddDevice", item);
if (!p.IsSuccessStatusCode)
{
error_group = "УСТРОЙСТВА";
error_msg = $"{item.Name} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
//await Task.Delay(500);
}
}
}
foreach (var item in _list_type)
catch (Exception)
{
var p = await AllPubData.http.PostAsJsonAsync("api/Type/AddType", item);
if (!p.IsSuccessStatusCode)
{
error_group = "ТИП";
error_msg = $"{item.Name} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
}
error_group = "ПРОЦЕСС";
error_msg = $"Во время добавления произошел сбой.";
toastError = true;
}
foreach (var item in _list_dev)
finally
{
var p = await AllPubData.http.PostAsJsonAsync("api/Device/AddDevice", item);
if (!p.IsSuccessStatusCode)
{
error_group = "УСТРОЙСТВА";
error_msg = $"{item.Name} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
}
visibleProgress = Visibility.Invisible;
}
visibleProgress = Visibility.Invisible;
}
}
private void GetCurrentObject()
{
_list_obj = AllPubData.ListObjectItems;
_list_type = AllPubData.ListDeviceTypeItems;
_list_dev = AllPubData.ListDeviceItems;
}
}