This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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; }
|
||||
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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; }
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user