Готов 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
+1 -1
View File
@@ -9,7 +9,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.6" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="10.1.7" />
<PackageReference Include="Telegram.Bot" Version="19.0.0" />
</ItemGroup>
+1 -1
View File
@@ -14,7 +14,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.6" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
<PackageReference Include="Selenium.WebDriver" Version="4.21.0" />
<PackageReference Include="Telegram.Bot" Version="19.0.0" />
</ItemGroup>
+2 -2
View File
@@ -23,7 +23,7 @@ public class DeviceController : ControllerBase
[HttpGet("GetDeviceById")]
[ProducesResponseType<DeviceItem>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetById(int id) // Получить устройство по id
public IActionResult GetById(Guid id) // Получить устройство по id
{
using (var db = new SQLiteService())
{
@@ -69,7 +69,7 @@ public class DeviceController : ControllerBase
#region DELETE
[HttpDelete("DelDevice")]
public IActionResult DelDevice(int id) //Удалить устройство по id
public IActionResult DelDevice(Guid id) //Удалить устройство по id
{
using (var db = new SQLiteService())
{
+2 -2
View File
@@ -29,7 +29,7 @@ public class ObjectController : ControllerBase
[HttpGet("GetObjectById")]
[ProducesResponseType<ObjectItem>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetById(int id)
public IActionResult GetById(Guid id)
{
using (var db = new SQLiteService())
{
@@ -69,7 +69,7 @@ public class ObjectController : ControllerBase
//========================= DELETE ====================================//
[HttpDelete("DelObject")]
public IActionResult DelObject(int id)
public IActionResult DelObject(Guid id)
{
using (var db = new SQLiteService())
{
+2 -2
View File
@@ -31,7 +31,7 @@ public class TypeController : ControllerBase
[HttpGet("GetTypeById")]
[ProducesResponseType<DeviceItem>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetById(int id) // Получить устройство по id
public IActionResult GetById(Guid id) // Получить устройство по id
{
using (var db = new SQLiteService())
{
@@ -63,7 +63,7 @@ public class TypeController : ControllerBase
//========================= DELETE ====================================//
#region DELETE
[HttpDelete("DelType")]
public IActionResult DelType(int id) //Удалить тип устройства по id
public IActionResult DelType(Guid id) //Удалить тип устройства по id
{
using (var db = new SQLiteService())
{
+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<DeviceItem>? ListDevices { get; set; }
public DeviceType? DeviceType { get; set; }
public ObjectItem? 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; }
}
+2 -2
View File
@@ -14,8 +14,8 @@ namespace Strela.Services
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//optionsBuilder.UseNpgsql("Host=172.24.12.201;Port=5432;Database=Notifications;Username=postgres;Password=4NUDZhJ7");
optionsBuilder.UseSqlite("Data Source=Services/DataBase.db");
optionsBuilder.UseNpgsql("Host=172.22.10.39;Port=5432;Database=strela;Username=postgres;Password=4NUDZhJ7");
//optionsBuilder.UseSqlite("Data Source=Services/DataBase.db");
}
//protected override void OnModelCreating(ModelBuilder modelBuilder)
+1
View File
@@ -23,6 +23,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.22.1" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
+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; }
}
+45 -16
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>
@@ -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,10 +433,12 @@
private async void clickSave()
{
if (nextButton == "Далее") stepsRef.NextStep();
if (nextButton == "Далее") await stepsRef.NextStep();
else
{
visibleProgress = Visibility.Visible;
try
{
foreach (var item in _list_obj)
{
var p = await AllPubData.http.PostAsJsonAsync("api/Object/AddObject", item);
@@ -438,6 +447,7 @@
error_group = "ОБЪЕКТ";
error_msg = $"{item.NameObject} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
//await Task.Delay(500);
}
}
foreach (var item in _list_type)
@@ -448,6 +458,7 @@
error_group = "ТИП";
error_msg = $"{item.Name} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
//await Task.Delay(500);
}
}
foreach (var item in _list_dev)
@@ -458,9 +469,27 @@
error_group = "УСТРОЙСТВА";
error_msg = $"{item.Name} не добавлено.\r\nСтатус код: {p.StatusCode}";
toastError = true;
//await Task.Delay(500);
}
}
}
catch (Exception)
{
error_group = "ПРОЦЕСС";
error_msg = $"Во время добавления произошел сбой.";
toastError = true;
}
finally
{
visibleProgress = Visibility.Invisible;
}
}
}
private void GetCurrentObject()
{
_list_obj = AllPubData.ListObjectItems;
_list_type = AllPubData.ListDeviceTypeItems;
_list_dev = AllPubData.ListDeviceItems;
}
}
-1
View File
@@ -29,6 +29,5 @@
<Project Path="SettingSNMPDahua/SettingSNMPDahua.csproj" Id="6a5aeee0-a683-473f-87b7-2815c2144027" />
<Project Path="SetVideoDataHikvision/SetVideoDataHikvision.csproj" Id="c4e10081-462c-4be5-9f58-9e1926325c9d" />
<Project Path="SwitchDahua/SwitchDahua.csproj" Id="12504b58-758f-444b-a79b-4ce2db8398cc" />
<Project Path="Web/Web.csproj" />
<Project Path="Wiking/Wiking.csproj" Id="fa0eb4bd-8bfb-4873-bb71-1c2a608ab911" />
</Solution>