diff --git a/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs b/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs index 9f367ae..db0e4d2 100644 --- a/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs +++ b/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs @@ -15,6 +15,7 @@ public interface IFruitBankDataControllerCommon #region Partner public Task?> GetPartners(); public Task GetPartnerById(int id); + public Task AddPartner(Partner partner); public Task UpdatePartner(Partner partner); #endregion Partner diff --git a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor index 42f68b0..4d47f21 100644 --- a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor +++ b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor @@ -1,6 +1,7 @@ @using AyCode.Blazor.Components.Components.Grids @using AyCode.Core.Helpers @using AyCode.Utils.Extensions +@using FruitBank.Common @using FruitBank.Common.Dtos @using FruitBank.Common.Models @using FruitBankHybrid.Shared.Components.Grids.GenericAttributes @@ -17,7 +18,8 @@ ColumnResizeMode="GridColumnResizeMode.NextColumn" FilterMenuButtonDisplayMode="@(IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always)"> - + diff --git a/FruitBankHybrid.Shared/Components/GridProductDto.cs b/FruitBankHybrid.Shared/Components/GridProductDto.cs index 2da7718..f195a82 100644 --- a/FruitBankHybrid.Shared/Components/GridProductDto.cs +++ b/FruitBankHybrid.Shared/Components/GridProductDto.cs @@ -1,12 +1,19 @@ using DevExpress.Blazor; +using FruitBank.Common.Dtos; +using FruitBank.Common.SignalRs; +using FruitBankHybrid.Shared.Components.Grids; namespace FruitBankHybrid.Shared.Components; -public class GridProductDto : MgGridBase +public class GridProductDto : FruitBankGridBase { - protected override void CustomizeElementHideDetailButton(GridCustomizeElementEventArgs e) + public GridProductDto() : base() { - //Felülírjuk, h ne adja hozzá a "hideDetailButton" css class-t! - return; + GetAllMessageTag = SignalRTags.GetProductDtos; + //AddMessageTag = SignalRTags.AddPartner; + //UpdateMessageTag = SignalRTags.UpdatePartner; + + //RemoveMessageTag = SignalRTags.; } + } \ No newline at end of file diff --git a/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor b/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor index 4f76edb..707fe77 100644 --- a/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor +++ b/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor @@ -1,82 +1,93 @@ @using System.Threading @using AyCode.Blazor.Components.Components.Grids @using AyCode.Core.Helpers +@using AyCode.Core.Loggers @using AyCode.Utils.Extensions @using DevExpress.Internal.About +@using FruitBank.Common @using FruitBank.Common.Dtos @using FruitBank.Common.Models @using FruitBankHybrid.Shared.Components.Grids.GenericAttributes @using FruitBankHybrid.Shared.Components.Grids.Products @using FruitBankHybrid.Shared.Databases +@using FruitBankHybrid.Shared.Services.Loggers @using FruitBankHybrid.Shared.Services.SignalRs @inject LoggedInModel LoggedInModel; +@inject IEnumerable LogWriters @inject FruitBankSignalRClient FruitBankSignalRClient - - - - - - - - - - - - - - - - - @if (IsMasterGrid) - { - var productDto = ((ProductDto)(context.DataItem)); - var productId = productDto.Id; + + + + + + + + + + + + + + + + + + + @if (IsMasterGrid) + { + var productDto = ((ProductDto)(context.DataItem)); + var productId = productDto.Id; - - - @{ - var contextIds = new[] { (object)productDto.Id }; - - } - - - @{ - //GetOrderDtosFromDbAsync(productId).Forget(); - //var orderDtos = _orderDtos?.Where(o => o.OrderItemDtos.Any(oi => oi.ProductId == productId)).ToList() ?? []; - - } - - - @{ - //GetOrderItemDtosFromDbAsync(productId).Forget(); - //var orderItemDtos = _orderItemDtos?.Where(oi => oi.ProductId == productId).ToList() ?? []; - - } - - - @{ - var genericAttributeDtos = new AcObservableCollection(productDto.GenericAttributes); - - } - - - } - - - @if (IsMasterGrid) - { - - } - - + + + @{ + var contextIds = new[] { (object)productDto.Id }; + + } + + + @{ + //GetOrderDtosFromDbAsync(productId).Forget(); + //var orderDtos = _orderDtos?.Where(o => o.OrderItemDtos.Any(oi => oi.ProductId == productId)).ToList() ?? []; + + } + + + @{ + //GetOrderItemDtosFromDbAsync(productId).Forget(); + //var orderItemDtos = _orderItemDtos?.Where(oi => oi.ProductId == productId).ToList() ?? []; + + } + + + @{ + var genericAttributeDtos = new AcObservableCollection(productDto.GenericAttributes); + + } + + + } + + + @if (IsMasterGrid) + { + + } + + + + @code { [Inject] public required DatabaseClient Database { get; set; } + private LoggerClient _logger = null!; + string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty; private int _activeTabIndex; @@ -94,12 +105,13 @@ [Parameter] public bool IsMasterGrid { get; set; } = false; - [Parameter] public IEnumerable? ProductDtos { get; set; } + [Parameter] public AcObservableCollection? ProductDtos { get; set; } //[Parameter] public List? OrderDtos { get; set; } //[Parameter] public List? OrderItemDtos { get; set; } protected override async Task OnInitializedAsync() { + _logger = new LoggerClient(LogWriters.ToArray()); // if (IsMasterGrid) // { // using (await ObjectLock.GetSemaphore().UseWaitAsync()) @@ -122,7 +134,8 @@ LoadingPanelVisibility.Visible = true; //using (await ObjectLock.GetSemaphore().UseWaitAsync()) { - if (ProductDtos == null || !ProductDtos.Any() || forceReload) ProductDtos = await Database.ProductDtoTable.LoadDataAsync(!forceReload); + if (ProductDtos == null || !ProductDtos.Any() || forceReload) + ProductDtos = new AcObservableCollection(await Database.ProductDtoTable.LoadDataAsync(!forceReload)); } _orderDtosByProductId.Clear(); diff --git a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor index b415e9f..950d0d4 100644 --- a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor +++ b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor @@ -10,6 +10,7 @@ @using AyCode.Core.Helpers @using AyCode.Core.Interfaces @using AyCode.Core.Loggers +@using FruitBank.Common @using FruitBank.Common.Models @using FruitBankHybrid.Shared.Services.Loggers @@ -21,7 +22,7 @@ - + public bool IsFullscreen => false; + public string LayoutStorageKey { get; } + /// public void ToggleFullscreen() { diff --git a/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs b/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs index 6adc151..ecabc3c 100644 --- a/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs +++ b/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs @@ -13,6 +13,7 @@ using FruitBankHybrid.Shared.Services.SignalRs; using Mango.Nop.Core.Loggers; using Microsoft.AspNetCore.Components; using System.Diagnostics; +using AyCode.Core.Helpers; namespace FruitBankHybrid.Shared.Pages; @@ -26,7 +27,7 @@ public partial class OrdersAdmin : ComponentBase [Inject] public required LoggedInModel LoggedInModel { get; set; } public required IGrid gridOrder; - private IEnumerable? ProductDtos { get; set; } = []; + private AcObservableCollection? ProductDtos { get; set; } = []; private List? OrderDtos { get; set; } = []; private List? OrderItemDtos { get; set; } = []; @@ -51,7 +52,7 @@ public partial class OrdersAdmin : ComponentBase LoadingPanelVisibility.Visible = true; //using (await ObjectLock.GetSemaphore().UseWaitAsync()) { - if (ProductDtos == null || !ProductDtos.Any() || forceReload) ProductDtos = await Database.ProductDtoTable.LoadDataAsync(!forceReload); + if (ProductDtos == null || !ProductDtos.Any() || forceReload) ProductDtos = new AcObservableCollection(await Database.ProductDtoTable.LoadDataAsync(!forceReload)); } //using (await ObjectLock.GetSemaphore().UseWaitAsync()) diff --git a/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs b/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs index 63fc5a5..8f00139 100644 --- a/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs +++ b/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs @@ -68,6 +68,9 @@ namespace FruitBankHybrid.Shared.Services.SignalRs public Task GetPartnerById(int id) => GetByIdAsync(SignalRTags.GetPartnerById, id); + public Task AddPartner(Partner partner) + => PostDataAsync(SignalRTags.AddPartner, partner); + public Task UpdatePartner(Partner partner) => PostDataAsync(SignalRTags.UpdatePartner, partner);