diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs index 78b24169..1be45392 100644 --- a/TIAM.Database/DataLayers/Admins/AdminDal.cs +++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs @@ -28,6 +28,7 @@ using DevExpress.Data.Filtering; using DevExpress.Data.Linq; using DevExpress.Data.Linq.Helpers; using TIAM.Database.DbSets.Drivers; +using AyCode.Entities.Server.LogItems; namespace TIAM.Database.DataLayers.Admins { @@ -631,5 +632,11 @@ namespace TIAM.Database.DataLayers.Admins #endregion + #region Logs + + public Task> GetLogItemsAsync() => SessionAsync(ctx => ctx.LogItems.ToList()); + + #endregion + } } diff --git a/TIAM.Database/DbContexts/Admins/AdminDbContext.cs b/TIAM.Database/DbContexts/Admins/AdminDbContext.cs index a5579c78..f386f33e 100644 --- a/TIAM.Database/DbContexts/Admins/AdminDbContext.cs +++ b/TIAM.Database/DbContexts/Admins/AdminDbContext.cs @@ -1,4 +1,5 @@ -using Microsoft.EntityFrameworkCore; +using AyCode.Entities.Server.LogItems; +using Microsoft.EntityFrameworkCore; using TIAM.Database.ModelBuilders.Companies; using TIAM.Database.ModelBuilders.Emails; using TIAM.Database.ModelBuilders.Products; @@ -18,6 +19,7 @@ namespace TIAM.Database.DbContexts.Admins { public class AdminDbContext : DbContextBase, IAdminDbContext { + public DbSet LogItems { get; set; } public DbSet Users { get; set; } public DbSet Profiles { get; set; } public DbSet Companies { get; set; } diff --git a/TIAM.Services/SignalRTags.cs b/TIAM.Services/SignalRTags.cs index 8f6c79cc..f4913db1 100644 --- a/TIAM.Services/SignalRTags.cs +++ b/TIAM.Services/SignalRTags.cs @@ -95,4 +95,6 @@ public class SignalRTags : AcSignalRTags public const int GetTransferDestinationToProductsByProductId = 95; public const int GetTransferDestinationToProductsByTransferDestinationId = 96; + public const int GetAllLogItems = 100; + } diff --git a/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor b/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor new file mode 100644 index 00000000..a711e786 --- /dev/null +++ b/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor @@ -0,0 +1,75 @@ +@page "/sysadmin/logs" +@using BlazorAnimation +@using TIAM.Entities.Users +@using TIAM.Models.Dtos.Users +@using TIAM.Resources +@using TIAM.Services +@using TIAMSharedUI.Pages.Components +@using TIAMSharedUI.Shared +@using TIAMWebApp.Shared.Application.Interfaces +@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels +@using TIAMWebApp.Shared.Application.Models.PageModels +@using TIAMWebApp.Shared.Application.Utility +@using AyCode.Services.Loggers +@using TIAM.Core.Consts +@layout AdminLayout +@inject IEnumerable LogWriters +@inject IStringLocalizer Localizer +@inject ISessionService SessionService + +User permissions + +
+

Log viewer

+

Manage drivers here!

+
+ + +
+
+
+ +
+
+
+ +
+ + + +
+ +
+
+
+ +
+
+ +
+
+ +@code { + private LoggerClient _logger; + //public UserModelDtoDetail UserModelDtoDetail = new(); + + + IGrid Grid { get; set; } + //object? MasterGridData { get; set; } + + protected override async Task OnInitializedAsync() + { + _logger = new LoggerClient(LogWriters.ToArray()); + + base.OnInitialized(); + } + + void ColumnChooserButton_Click() + { + Grid.ShowColumnChooser(); + } + +} diff --git a/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor new file mode 100644 index 00000000..49e5b50e --- /dev/null +++ b/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor @@ -0,0 +1,77 @@ +@using TIAM.Entities.Products +@using TIAM.Entities.Transfers +@using TIAM.Entities.Drivers +@using TIAM.Entities.Users +@using TIAM.Models.Dtos.Users +@using TIAM.Services +@using TIAMSharedUI.Shared.Components.Grids +@using TIAMWebApp.Shared.Application.Interfaces +@using TIAMWebApp.Shared.Application.Models.ClientSide.UI +@using TIAMWebApp.Shared.Application.Services +@using TIAMWebApp.Shared.Application.Utility +@using TIAM.Core.Loggers +@using AyCode.Core.Loggers +@using AyCode.Services.Loggers +@using AyCode.Core +@using AyCode.Core.Extensions +@inject IServiceProviderDataService ServiceProviderDataService +@inject IEnumerable LogWriters +@inject AdminSignalRClient AdminSignalRClient +@inject IWizardProcessor WizardProcessor +@inject IUserDataService UserDataService + + + + + + + + + + + + + + @{ + var a = ((LogitemViewerModel)context.DataItem).AcLogItemClient; + } +

@a.Text

+
+ + + +
+ +@code { + [Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never; + + private LoggerClient _logger; + + private LogViewerGrid _logViewerGrid; + + protected override void OnInitialized() + { + _logger = new LoggerClient(LogWriters.ToArray()); + + base.OnInitialized(); + } + + private async Task OnRowClick(GridRowClickEventArgs e) + { + + } + + void Grid_CustomizeElement(GridCustomizeElementEventArgs e) + { + + } +} \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs b/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs new file mode 100644 index 00000000..a8a08c78 --- /dev/null +++ b/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Components; +using AyCode.Entities.LogItems; +using TIAM.Entities.Users; +using TIAM.Services; +using TIAM.Entities.Transfers; +using TIAMWebApp.Shared.Application.Models.ClientSide.UI; + +namespace TIAMSharedUI.Shared.Components.Grids; + +public class LogViewerGrid : TiamGrid +{ + public LogViewerGrid() : base() + { + GetAllMessageTag = SignalRTags.GetAllLogItems; + } + + protected override Task SetParametersAsyncCore(ParameterView parameters) + { + if (!IsFirstInitializeParameters) + { + //ShowFilterRow = true; + //ShowGroupPanel = true; + //AllowSort = false; + + //etc... + } + + return base.SetParametersAsyncCore(parameters); + } +} \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs b/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs index b504101d..a57ee379 100644 --- a/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs @@ -18,7 +18,7 @@ using TIAMWebApp.Shared.Application.Utility; namespace TIAMSharedUI.Shared.Components.Grids { - public class TiamGrid : DxGrid where TDataItem : class, IId + public class TiamGrid : DxGrid where TDataItem : class, IId { protected bool IsFirstInitializeParameters; private SignalRDataSource _dataSource = null!; diff --git a/TIAMSharedUI/Shared/Components/Navbar.razor b/TIAMSharedUI/Shared/Components/Navbar.razor index d3f1d198..5bea1868 100644 --- a/TIAMSharedUI/Shared/Components/Navbar.razor +++ b/TIAMSharedUI/Shared/Components/Navbar.razor @@ -102,11 +102,20 @@