diff --git a/FruitBank.Common.Server/FruitBank.Common.Server.csproj b/FruitBank.Common.Server/FruitBank.Common.Server.csproj
index a14e5ec2..4d7a8d11 100644
--- a/FruitBank.Common.Server/FruitBank.Common.Server.csproj
+++ b/FruitBank.Common.Server/FruitBank.Common.Server.csproj
@@ -43,9 +43,6 @@
..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll
-
- ..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll
-
diff --git a/FruitBank.Common/Dtos/MeasuringProductDto.cs b/FruitBank.Common/Dtos/MeasuringProductDto.cs
index 2fd1dd3f..10b7f902 100644
--- a/FruitBank.Common/Dtos/MeasuringProductDto.cs
+++ b/FruitBank.Common/Dtos/MeasuringProductDto.cs
@@ -1,6 +1,6 @@
using FruitBank.Common.Interfaces;
using Mango.Nop.Core.Dtos;
-using Nop.Core.Domain.Catalog;
+//using Nop.Core.Domain.Catalog;
namespace FruitBank.Common.Dtos;
diff --git a/FruitBank.Common/Dtos/OrderDto.cs b/FruitBank.Common/Dtos/OrderDto.cs
index 568c54b1..c5a45179 100644
--- a/FruitBank.Common/Dtos/OrderDto.cs
+++ b/FruitBank.Common/Dtos/OrderDto.cs
@@ -10,7 +10,7 @@ using Mango.Nop.Core.Extensions;
using Mango.Nop.Core.Interfaces;
using Newtonsoft.Json;
using Nop.Core;
-using Nop.Core.Domain.Catalog;
+//using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Orders;
using System.Diagnostics.CodeAnalysis;
diff --git a/FruitBank.Common/Dtos/ProductDto.cs b/FruitBank.Common/Dtos/ProductDto.cs
index 81d857fc..fa27e674 100644
--- a/FruitBank.Common/Dtos/ProductDto.cs
+++ b/FruitBank.Common/Dtos/ProductDto.cs
@@ -4,7 +4,7 @@ using Mango.Nop.Core.Dtos;
using Mango.Nop.Core.Extensions;
using Newtonsoft.Json;
using Nop.Core;
-using Nop.Core.Domain.Catalog;
+//using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Orders;
using System.Globalization;
@@ -16,7 +16,7 @@ public class ProductDto : MgProductDto, IProductDto
{
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
private static Expression> RelationWithGenericAttribute => (orderItemDto, genericAttribute) =>
- orderItemDto.Id == genericAttribute.EntityId && genericAttribute.KeyGroup == nameof(Product);
+ orderItemDto.Id == genericAttribute.EntityId && genericAttribute.KeyGroup == "Product";// nameof(Product);
[Association(ThisKey = nameof(Id), OtherKey = nameof(GenericAttribute.EntityId), ExpressionPredicate = nameof(RelationWithGenericAttribute), CanBeNull = false)]
@@ -26,8 +26,8 @@ public class ProductDto : MgProductDto, IProductDto
{ }
public ProductDto(int productId) : base(productId)
{ }
- public ProductDto(Product product) : base(product)
- { }
+ //public ProductDto(Product product) : base(product)
+ //{ }
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
public bool IsMeasurable
diff --git a/FruitBank.Common/Entities/ShippingItem.cs b/FruitBank.Common/Entities/ShippingItem.cs
index 27bc2d32..eba39c80 100644
--- a/FruitBank.Common/Entities/ShippingItem.cs
+++ b/FruitBank.Common/Entities/ShippingItem.cs
@@ -6,7 +6,7 @@ using Mango.Nop.Core.Entities;
using Nop.Core.Domain.Customers;
using Nop.Core.Domain.Orders;
using System.ComponentModel.DataAnnotations;
-using Nop.Core.Domain.Catalog;
+//using Nop.Core.Domain.Catalog;
using DataType = LinqToDB.DataType;
using FruitBank.Common.Dtos;
using FruitBank.Common.Enums;
diff --git a/FruitBank.Common/FruitBank.Common.csproj b/FruitBank.Common/FruitBank.Common.csproj
index 22e67881..f0239eca 100644
--- a/FruitBank.Common/FruitBank.Common.csproj
+++ b/FruitBank.Common/FruitBank.Common.csproj
@@ -37,9 +37,6 @@
..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll
-
- ..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll
-
diff --git a/FruitBank.Common/Interfaces/IOrderItemDto.cs b/FruitBank.Common/Interfaces/IOrderItemDto.cs
index 1faa504f..a1b2a51f 100644
--- a/FruitBank.Common/Interfaces/IOrderItemDto.cs
+++ b/FruitBank.Common/Interfaces/IOrderItemDto.cs
@@ -3,7 +3,7 @@ using FruitBank.Common.Entities;
using FruitBank.Common.Enums;
using Mango.Nop.Core.Dtos;
using Mango.Nop.Core.Interfaces;
-using Nop.Core.Domain.Catalog;
+//using Nop.Core.Domain.Catalog;
namespace FruitBank.Common.Interfaces;
diff --git a/FruitBank.Common/Interfaces/IShippingItem.cs b/FruitBank.Common/Interfaces/IShippingItem.cs
index e73e02c7..6cd15c1f 100644
--- a/FruitBank.Common/Interfaces/IShippingItem.cs
+++ b/FruitBank.Common/Interfaces/IShippingItem.cs
@@ -2,7 +2,7 @@
using AyCode.Interfaces.TimeStampInfo;
using FruitBank.Common.Dtos;
using FruitBank.Common.Entities;
-using Nop.Core.Domain.Catalog;
+//using Nop.Core.Domain.Catalog;
namespace FruitBank.Common.Interfaces;
diff --git a/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj b/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj
index 2b6f845e..5117819d 100644
--- a/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj
+++ b/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj
@@ -37,9 +37,6 @@
..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Services\bin\FruitBank\Debug\net9.0\Mango.Nop.Services.dll
-
- ..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll
-
diff --git a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor
index d6cd3d6c..796f8e2a 100644
--- a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor
+++ b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor
@@ -3,7 +3,7 @@
@inject FruitBankSignalRClient FruitBankSignalRClient
-
diff --git a/FruitBankHybrid.Shared/Components/GridDetailOrderItemPallets.razor b/FruitBankHybrid.Shared/Components/GridDetailOrderItemPallets.razor
index b5f000fa..a455a38d 100644
--- a/FruitBankHybrid.Shared/Components/GridDetailOrderItemPallets.razor
+++ b/FruitBankHybrid.Shared/Components/GridDetailOrderItemPallets.razor
@@ -4,7 +4,7 @@
@inject FruitBankSignalRClient FruitBankSignalRClient
-
+
diff --git a/FruitBankHybrid.Shared/Components/GridShipping.razor b/FruitBankHybrid.Shared/Components/GridShipping.razor
index b992710e..065c6058 100644
--- a/FruitBankHybrid.Shared/Components/GridShipping.razor
+++ b/FruitBankHybrid.Shared/Components/GridShipping.razor
@@ -4,7 +4,7 @@
@inject FruitBankSignalRClient FruitBankSignalRClient
-
diff --git a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor
index 5fd28533..0fbd887a 100644
--- a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor
+++ b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor
@@ -9,7 +9,7 @@
@inject FruitBankSignalRClient FruitBankSignalRClient
-
@@ -18,13 +18,13 @@
+ ValueFieldName="Id"
+ TextFieldName="Name"
+ DropDownBodyCssClass="dd-body-class"
+ ListRenderMode="ListRenderMode.Entire"
+ SearchMode="ListSearchMode.AutoSearch"
+ SearchFilterCondition="ListSearchFilterCondition.Contains"
+ ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto"/>
@@ -36,7 +36,13 @@
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
- ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" />
+ ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto">
+
+
+
+
+
+
diff --git a/FruitBankHybrid.Shared/Components/GridShippingItem.razor b/FruitBankHybrid.Shared/Components/GridShippingItem.razor
index 0d51a990..1a66737a 100644
--- a/FruitBankHybrid.Shared/Components/GridShippingItem.razor
+++ b/FruitBankHybrid.Shared/Components/GridShippingItem.razor
@@ -10,7 +10,7 @@
Contact Phone: @OrderDto.Email
*@
-
@@ -25,7 +25,13 @@
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
- ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" />
+ ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto">
+
+
+
+
+
+
@@ -39,11 +45,21 @@
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
- ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" />
+ ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" >
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/FruitBankHybrid.Shared/Components/GridShippingItemPallets.razor b/FruitBankHybrid.Shared/Components/GridShippingItemPallets.razor
index c56a2634..9c1a7359 100644
--- a/FruitBankHybrid.Shared/Components/GridShippingItemPallets.razor
+++ b/FruitBankHybrid.Shared/Components/GridShippingItemPallets.razor
@@ -4,7 +4,7 @@
@inject FruitBankSignalRClient FruitBankSignalRClient
-
-
+
diff --git a/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs b/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs
new file mode 100644
index 00000000..17e9a814
--- /dev/null
+++ b/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs
@@ -0,0 +1,10 @@
+//using AyCode.Blazor.Components.Components.Grids;
+//using AyCode.Core.Interfaces;
+//using AyCode.Interfaces.Entities;
+//using FruitBankHybrid.Shared.Services.Loggers;
+//using FruitBankHybrid.Shared.Services.SignalRs;
+
+//namespace FruitBankHybrid.Shared.Components.Grids;
+
+//public class FruitBankGrid : MgGridBase, TDataItem, LoggerClient> where TDataItem : class, IId
+//{}
\ No newline at end of file
diff --git a/FruitBankHybrid.Shared/Components/Grids/OrderItems/GridOrderItem.cs b/FruitBankHybrid.Shared/Components/Grids/OrderItems/GridOrderItem.cs
new file mode 100644
index 00000000..122fd948
--- /dev/null
+++ b/FruitBankHybrid.Shared/Components/Grids/OrderItems/GridOrderItem.cs
@@ -0,0 +1,32 @@
+using AyCode.Core.Interfaces;
+using FruitBank.Common.Entities;
+using FruitBank.Common.SignalRs;
+using FruitBankHybrid.Shared.Pages;
+using Microsoft.AspNetCore.Components;
+
+namespace FruitBankHybrid.Shared.Components.Grids.OrderItem;
+
+//public class GridOrderItem : FruitBankGrid
+//{
+// public GridOrderItem() : base()
+// {
+// GetAllMessageTag = SignalRTags.GetAllTransferDestinations;
+// AddMessageTag = SignalRTags.CreateTransferDestination;
+// UpdateMessageTag = SignalRTags.UpdateTransferDestination;
+// RemoveMessageTag = SignalRTags.RemoveTransferDestination;
+// }
+
+// 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/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs b/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs
new file mode 100644
index 00000000..c8206ff4
--- /dev/null
+++ b/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs
@@ -0,0 +1,32 @@
+//using AyCode.Core.Interfaces;
+//using FruitBank.Common.Entities;
+//using FruitBank.Common.SignalRs;
+//using FruitBankHybrid.Shared.Pages;
+//using Microsoft.AspNetCore.Components;
+
+//namespace FruitBankHybrid.Shared.Components.Grids.ShippingItems;
+
+//public class GridShippingItem : FruitBankGrid
+//{
+// public GridShippingItem() : base()
+// {
+// GetAllMessageTag = SignalRTags.GetShippingItems;
+// AddMessageTag = SignalRTags.AddShippingItem;
+// UpdateMessageTag = SignalRTags.UpdateShippingItem;
+// //RemoveMessageTag = SignalRTags.;
+// }
+
+// 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/FruitBankHybrid.Shared/Components/MgGridBase.cs b/FruitBankHybrid.Shared/Components/MgGridBase.cs
index 06c098e4..7a1c9fa5 100644
--- a/FruitBankHybrid.Shared/Components/MgGridBase.cs
+++ b/FruitBankHybrid.Shared/Components/MgGridBase.cs
@@ -1,9 +1,14 @@
-using AyCode.Core.Loggers;
+using AyCode.Core.Extensions;
+using AyCode.Core.Loggers;
+using AyCode.Utils.Extensions;
using DevExpress.Blazor;
using DevExpress.Data.Helpers;
using DevExpress.Utils.Filtering.Internal;
+using FruitBank.Common.Models;
using FruitBankHybrid.Shared.Services.SignalRs;
using Microsoft.AspNetCore.Components;
+using Microsoft.JSInterop;
+using System.Collections.ObjectModel;
using System.Reflection;
namespace FruitBankHybrid.Shared.Components;
@@ -12,11 +17,15 @@ public class MgGridBase : DxGrid
{
private bool _isFirstInitializeParameterCore;
private bool _isFirstInitializeParameters;
+ public bool PreRendered { get; set; }
[Inject] public required IEnumerable LogWriters { get; set; }
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
-
+ [Inject] public required LoggedInModel LoggedInModel { get; set; }
+ [Inject] public required IJSRuntime JSRuntime { get; set; }
+
[Parameter] public bool IsMasterGrid { get; set; } = false;
+ [Parameter] public string AutoSaveLayoutName { get; set; }
[Parameter]
public required object DataSource
@@ -25,6 +34,13 @@ public class MgGridBase : DxGrid
set => Data = value;
}
+ protected override async Task OnInitializedAsync()
+ {
+ //var json = await GetLocalStorageItemAsync(LocalStorageItemsKey);
+ //if (!string.IsNullOrEmpty(json))
+ // Layouts = JsonSerializer.Deserialize>(json);
+ }
+
protected void OnCustomizeElement(GridCustomizeElementEventArgs e)
{
//if (!IsMasterGrid) e.CssClass = "hideDetailButton";
@@ -34,7 +50,8 @@ public class MgGridBase : DxGrid
e.CssClass = " alt-item";
}
- if(e.ElementType == GridElementType.HeaderCell) {
+ if (e.ElementType == GridElementType.HeaderCell)
+ {
e.Style = "background-color: #E6E6E6;";
//e.CssClass = "header-bold";
}
@@ -66,8 +83,8 @@ public class MgGridBase : DxGrid
ShowGroupPanel = IsMasterGrid;
ShowSearchBox = IsMasterGrid;
ShowFilterRow = IsMasterGrid;
-
- FilterMenuButtonDisplayMode=(IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always);
+
+ FilterMenuButtonDisplayMode = (IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always);
DetailRowDisplayMode = IsMasterGrid ? GridDetailRowDisplayMode.Auto : GridDetailRowDisplayMode.Never;
DetailExpandButtonDisplayMode = IsMasterGrid ? GridDetailExpandButtonDisplayMode.Auto : GridDetailExpandButtonDisplayMode.Never;
@@ -91,12 +108,84 @@ public class MgGridBase : DxGrid
//VirtualScrollingEnabled = IsMasterGrid;
PageSizeSelectorVisible = true;
+ if (IsMasterGrid && !AutoSaveLayoutName.IsNullOrWhiteSpace())
+ {
+ LayoutAutoLoading = Grid_LayoutAutoLoading;
+ LayoutAutoSaving = Grid_LayoutAutoSaving;
+ }
+
_isFirstInitializeParameters = true;
}
base.OnParametersSet();
}
+ protected override void OnAfterRender(bool firstRender)
+ {
+ if (firstRender)
+ {
+ PreRendered = true;
+ //StateHasChanged();
+ }
+ }
+
+ async Task Grid_LayoutAutoLoading(GridPersistentLayoutEventArgs e)
+ {
+ e.Layout = await LoadLayoutFromLocalStorageAsync($"{AutoSaveLayoutName}_AutoSave_{LoggedInModel.CustomerDto?.Id ?? 0}");
+ }
+
+ private async Task Grid_LayoutAutoSaving(GridPersistentLayoutEventArgs e)
+ {
+ await SaveLayoutToLocalStorageAsync(e.Layout, $"{AutoSaveLayoutName}_AutoSave_{LoggedInModel.CustomerDto?.Id ?? 0}");
+ }
+
+ async Task LoadLayoutFromLocalStorageAsync(string localStorageKey)
+ {
+ try
+ {
+ var json = await JSRuntime.InvokeAsync("localStorage.getItem", localStorageKey);
+
+ if (!json.IsNullOrWhiteSpace()) return json.JsonTo();
+ }
+ catch
+ {
+ // Mute exceptions for the server prerender stage
+ }
+
+ return null;
+ }
+ async Task SaveLayoutToLocalStorageAsync(GridPersistentLayout layout, string localStorageKey)
+ {
+ try
+ {
+ var json = layout.ToJson();
+ await JSRuntime.InvokeVoidAsync("localStorage.setItem", localStorageKey, json);
+ }
+ catch
+ {
+ // Mute exceptions for the server prerender stage
+ }
+ }
+ async Task RemoveLayoutFromLocalStorageAsync()
+ {
+ try
+ {
+ await JSRuntime.InvokeVoidAsync("localStorage.removeItem", AutoSaveLayoutName);
+ }
+ catch
+ {
+ // Mute exceptions for the server prerender stage
+ }
+ }
+ async Task ReloadPageButton_ClickAsync()
+ {
+ await JSRuntime.InvokeVoidAsync("location.reload");
+ }
+ async Task ResetLayoutButton_ClickAsync()
+ {
+ await RemoveLayoutFromLocalStorageAsync();
+ await JSRuntime.InvokeVoidAsync("location.reload");
+ }
//public RenderFragment AddCommandColumn()
//{
// RenderFragment columns = b =>
diff --git a/FruitBankHybrid.Shared/FruitBankHybrid.Shared.csproj b/FruitBankHybrid.Shared/FruitBankHybrid.Shared.csproj
index fd82e457..99c21673 100644
--- a/FruitBankHybrid.Shared/FruitBankHybrid.Shared.csproj
+++ b/FruitBankHybrid.Shared/FruitBankHybrid.Shared.csproj
@@ -20,6 +20,7 @@
+
@@ -63,8 +64,5 @@
..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll
-
- ..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll
-
\ No newline at end of file
diff --git a/FruitBankHybrid.Shared/Pages/Login.razor.cs b/FruitBankHybrid.Shared/Pages/Login.razor.cs
index d0c03240..87bbeacf 100644
--- a/FruitBankHybrid.Shared/Pages/Login.razor.cs
+++ b/FruitBankHybrid.Shared/Pages/Login.razor.cs
@@ -1,8 +1,5 @@
-using AyCode.Core.Helpers;
-using AyCode.Core.Loggers;
-using AyCode.Interfaces.Users;
+using AyCode.Core.Loggers;
using AyCode.Utils.Extensions;
-using FruitBank.Common.Loggers;
using FruitBank.Common.Models;
using FruitBankHybrid.Shared.Services.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
diff --git a/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs b/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs
index 13adfae6..6b7641c3 100644
--- a/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs
+++ b/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs
@@ -1,14 +1,9 @@
using AyCode.Core.Extensions;
using AyCode.Core.Loggers;
-using AyCode.Services.SignalRs;
using DevExpress.Blazor;
-using DevExpress.Xpo.DB;
using FruitBank.Common.Dtos;
using FruitBank.Common.Entities;
-using FruitBank.Common.Helpers;
-using FruitBank.Common.Interfaces;
using FruitBank.Common.Models;
-using FruitBank.Common.Models.SignalRs;
using FruitBank.Common.SignalRs;
using FruitBankHybrid.Shared.Extensions;
using FruitBankHybrid.Shared.Models;
@@ -16,21 +11,14 @@ using FruitBankHybrid.Shared.Services;
using FruitBankHybrid.Shared.Services.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
using Mango.Nop.Core.Extensions;
-using Mango.Nop.Core.Loggers;
-using MessagePack.Resolvers;
using Microsoft.AspNetCore.Components;
using Nop.Core.Domain.Orders;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace FruitBankHybrid.Shared.Pages
{
public partial class MeasuringOut : ComponentBase
{
- private readonly object _lock = new object();
+ private readonly Lock _lock = new Lock();
[Inject] public required IEnumerable LogWriters { get; set; }
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
[Inject] public required NavigationManager NavManager{ get; set; }
diff --git a/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor b/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor
index 414b9e33..ac1d0d12 100644
--- a/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor
+++ b/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor
@@ -16,7 +16,7 @@
Text="Adatok szinkronizálása folyamatban...">
@* @bind-ActiveTabIndex="@ActiveTabIndex" *@
-
+
diff --git a/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs b/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs
index e3821141..b956d28c 100644
--- a/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs
+++ b/FruitBankHybrid.Shared/Pages/OrdersAdmin.razor.cs
@@ -1,11 +1,16 @@
-using AyCode.Core.Loggers;
+using AyCode.Core.Interfaces;
+using AyCode.Core.Loggers;
+using AyCode.Services.Server.SignalRs;
+using AyCode.Services.SignalRs;
using DevExpress.Blazor;
using FruitBank.Common.Dtos;
using FruitBank.Common.Models;
+using FruitBank.Common.SignalRs;
using FruitBankHybrid.Shared.Services.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
using Mango.Nop.Core.Loggers;
using Microsoft.AspNetCore.Components;
+using System.Diagnostics;
namespace FruitBankHybrid.Shared.Pages;
@@ -17,7 +22,7 @@ public partial class OrdersAdmin : ComponentBase
[Inject] private IDialogService DialogService { get; set; } = null!;
[Inject] public required LoggedInModel LoggedInModel { get; set; }
- public IGrid gridOrder;
+ public required IGrid gridOrder;
private List? ProductDtos { get; set; } = null!;
private List? OrderDtos { get; set; } = null!;
private List? OrderItemDtos { get; set; } = null!;
diff --git a/FruitBankHybrid.Shared/Pages/ShippingsAdmin.razor b/FruitBankHybrid.Shared/Pages/ShippingsAdmin.razor
index 80cb3eb0..b24582cf 100644
--- a/FruitBankHybrid.Shared/Pages/ShippingsAdmin.razor
+++ b/FruitBankHybrid.Shared/Pages/ShippingsAdmin.razor
@@ -16,7 +16,7 @@
Text="Adatok szinkronizálása folyamatban...">
@* @bind-ActiveTabIndex="@ActiveTabIndex" *@
-
+
diff --git a/FruitBankHybrid.Shared/Services/SignalRs/SignalRDataSource.cs b/FruitBankHybrid.Shared/Services/SignalRs/SignalRDataSource.cs
new file mode 100644
index 00000000..4ab24295
--- /dev/null
+++ b/FruitBankHybrid.Shared/Services/SignalRs/SignalRDataSource.cs
@@ -0,0 +1,11 @@
+//using AyCode.Core.Interfaces;
+//using AyCode.Services.Server.SignalRs;
+//using AyCode.Services.SignalRs;
+//using System.Diagnostics;
+
+//namespace FruitBankHybrid.Shared.Services.SignalRs;
+
+//[Serializable]
+//[DebuggerDisplay("Count = {Count}")]
+//public class SignalRDataSource(AcSignalRClientBase signalRClient, SignalRCrudTags signalRCrudTags, params object[]? contextIds)
+// : AcSignalRDataSource(signalRClient, signalRCrudTags, contextIds) where T : class, IId;
\ No newline at end of file
diff --git a/FruitBankHybrid.Web.Client/Program.cs b/FruitBankHybrid.Web.Client/Program.cs
index 0cecf6af..f03d9fb8 100644
--- a/FruitBankHybrid.Web.Client/Program.cs
+++ b/FruitBankHybrid.Web.Client/Program.cs
@@ -1,6 +1,7 @@
using AyCode.Core.Loggers;
using FruitBank.Common.Loggers;
using FruitBank.Common.Models;
+using FruitBankHybrid.Shared.Databases;
using FruitBankHybrid.Shared.Services;
using FruitBankHybrid.Shared.Services.SignalRs;
using FruitBankHybrid.Web.Client.Services;
@@ -13,15 +14,15 @@ builder.Services.AddDevExpressBlazor(configure => configure.SizeMode = DevExpres
// Add device-specific services used by the FruitBankHybrid.Shared project
builder.Services.AddSingleton();
-//builder.Services.AddScoped();
-
-builder.Services.AddSingleton();
-builder.Services.AddScoped();
#if DEBUG
-builder.Services.AddScoped();
+builder.Services.AddSingleton();
#endif
-builder.Services.AddScoped();
+builder.Services.AddSingleton();
+builder.Services.AddSingleton();
+builder.Services.AddSingleton();
+
+builder.Services.AddSingleton();
await builder.Build().RunAsync();
diff --git a/FruitBankHybrid.Web/Program.cs b/FruitBankHybrid.Web/Program.cs
index 05b22b2f..52d6b0f7 100644
--- a/FruitBankHybrid.Web/Program.cs
+++ b/FruitBankHybrid.Web/Program.cs
@@ -3,6 +3,7 @@ using FruitBank.Common;
using FruitBank.Common.Models;
using FruitBank.Common.Server.Services.Loggers;
using FruitBank.Common.Server.Services.SignalRs;
+using FruitBankHybrid.Shared.Databases;
using FruitBankHybrid.Shared.Services;
using FruitBankHybrid.Shared.Services.SignalRs;
using FruitBankHybrid.Web.Components;
@@ -14,16 +15,19 @@ builder.Services.AddRazorComponents().AddInteractiveServerComponents().AddIntera
builder.Services.AddDevExpressBlazor(configure => configure.SizeMode = DevExpress.Blazor.SizeMode.Medium);
builder.Services.AddMvc();
+builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 256 * 1024);
builder.Services.AddSingleton();
+builder.Services.AddSingleton();
builder.Services.AddSingleton();
-builder.Services.AddScoped();
+
+builder.Services.AddSingleton();
+builder.Services.AddSingleton();
+
//builder.Services.AddScoped();
//builder.Services.AddSingleton();
//builder.Services.AddScoped();
-builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 256 * 1024);
-builder.Services.AddScoped();
var app = builder.Build();
// Configure the HTTP request pipeline.
diff --git a/FruitBankHybrid.sln b/FruitBankHybrid.sln
index fa3513bb..0a21e449 100644
--- a/FruitBankHybrid.sln
+++ b/FruitBankHybrid.sln
@@ -19,6 +19,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBankHybrid.Shared.Comm
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FruitBankHybrid.Shared.Tests", "FruitBankHybrid.Shared.Tests\FruitBankHybrid.Shared.Tests.csproj", "{4E4E4917-1CA3-A7D7-40A8-A24A08673EC1}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Blazor.Components", "..\..\..\Aycode\Source\AyCode.Blazor\AyCode.Blazor.Components\AyCode.Blazor.Components.csproj", "{5CE8B5A7-5390-61E4-33B3-FA5F0B75A168}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Blazor.Controllers", "..\..\..\Aycode\Source\AyCode.Blazor\AyCode.Blazor.Controllers\AyCode.Blazor.Controllers.csproj", "{CC74D48F-375E-6C8A-5DFD-F77860996A74}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Blazor.Models", "..\..\..\Aycode\Source\AyCode.Blazor\AyCode.Blazor.Models\AyCode.Blazor.Models.csproj", "{1A0941CC-BBF3-361F-669B-13F7749C1082}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Blazor.Models.Server", "..\..\..\Aycode\Source\AyCode.Blazor\AyCode.Blazor.Models.Server\AyCode.Blazor.Models.Server.csproj", "{B5B3A879-3F16-E125-B942-CBFE55D3B3E2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Maui.Core", "..\..\..\Aycode\Source\AyCode.Blazor\AyCode.Maui.Core\AyCode.Maui.Core.csproj", "{F7C67754-A59C-C355-2A10-C614F0585627}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -59,6 +69,26 @@ Global
{4E4E4917-1CA3-A7D7-40A8-A24A08673EC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E4E4917-1CA3-A7D7-40A8-A24A08673EC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E4E4917-1CA3-A7D7-40A8-A24A08673EC1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5CE8B5A7-5390-61E4-33B3-FA5F0B75A168}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5CE8B5A7-5390-61E4-33B3-FA5F0B75A168}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5CE8B5A7-5390-61E4-33B3-FA5F0B75A168}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5CE8B5A7-5390-61E4-33B3-FA5F0B75A168}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CC74D48F-375E-6C8A-5DFD-F77860996A74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CC74D48F-375E-6C8A-5DFD-F77860996A74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CC74D48F-375E-6C8A-5DFD-F77860996A74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CC74D48F-375E-6C8A-5DFD-F77860996A74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1A0941CC-BBF3-361F-669B-13F7749C1082}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1A0941CC-BBF3-361F-669B-13F7749C1082}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1A0941CC-BBF3-361F-669B-13F7749C1082}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1A0941CC-BBF3-361F-669B-13F7749C1082}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B5B3A879-3F16-E125-B942-CBFE55D3B3E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B5B3A879-3F16-E125-B942-CBFE55D3B3E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B5B3A879-3F16-E125-B942-CBFE55D3B3E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B5B3A879-3F16-E125-B942-CBFE55D3B3E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F7C67754-A59C-C355-2A10-C614F0585627}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F7C67754-A59C-C355-2A10-C614F0585627}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F7C67754-A59C-C355-2A10-C614F0585627}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F7C67754-A59C-C355-2A10-C614F0585627}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/FruitBankHybrid/MauiProgram.cs b/FruitBankHybrid/MauiProgram.cs
index 5753b372..ada3e32f 100644
--- a/FruitBankHybrid/MauiProgram.cs
+++ b/FruitBankHybrid/MauiProgram.cs
@@ -29,16 +29,14 @@ namespace FruitBankHybrid
// Add device-specific services used by the FruitBankHybrid.Shared project
builder.Services.AddSingleton();
+ #if DEBUG
+ builder.Services.AddSingleton();
+ #endif
+
builder.Services.AddSingleton();
builder.Services.AddScoped();
builder.Services.AddSingleton();
-
-#if DEBUG
- builder.Services.AddSingleton();
-
-#endif
-
builder.Services.AddSingleton();