From 10eea9e70ccd402df6a1397eb42053538b519a16 Mon Sep 17 00:00:00 2001 From: Loretta Date: Tue, 30 Dec 2025 19:29:50 +0100 Subject: [PATCH] Add LINQ Expression JSON serialization & SignalR grid source - Introduce AcExpressionHelper and related classes for serializing/deserializing LINQ Expression trees and IQueryable queries to/from JSON, enabling remote transport and execution. - Add MgGridSignalRDataSource for instant local filtering and background refresh in DevExpress grids using SignalR. - Update bunit NuGet package to v2.4.2 in test projects. - Minor: update FruitBank base URL comment, add new test in OrderClientTests. --- FruitBank.Common/FruitBankConstClient.cs | 4 ++-- .../FruitBankHybrid.Shared.Tests.csproj | 2 +- .../OrderClientTests.cs | 17 +++++++++++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/FruitBank.Common/FruitBankConstClient.cs b/FruitBank.Common/FruitBankConstClient.cs index a90f6ad6..f4cbe29b 100644 --- a/FruitBank.Common/FruitBankConstClient.cs +++ b/FruitBank.Common/FruitBankConstClient.cs @@ -9,9 +9,9 @@ public static class FruitBankConstClient public static string BaseUrl = "https://localhost:59579"; //FrutiBank nop //public static string BaseUrl = "https://localhost:44372"; //FrutiBank nop - //public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop + //public static string BaseUrl = "https://fruitbank.mangoweb.hu/"; //FrutiBank nop #if RELEASE - // public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop + //public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop #endif //public static string BaseUrl = "http://localhost:59579"; //FrutiBank nop diff --git a/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj b/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj index 2c3a5296..4d6aea97 100644 --- a/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj +++ b/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/FruitBankHybrid.Shared.Tests/OrderClientTests.cs b/FruitBankHybrid.Shared.Tests/OrderClientTests.cs index 37dc2e32..a6786a6b 100644 --- a/FruitBankHybrid.Shared.Tests/OrderClientTests.cs +++ b/FruitBankHybrid.Shared.Tests/OrderClientTests.cs @@ -3,14 +3,15 @@ using AyCode.Core.Extensions; using AyCode.Core.Loggers; using FruitBank.Common; using FruitBank.Common.Dtos; +using FruitBank.Common.Entities; using FruitBank.Common.Loggers; using FruitBankHybrid.Shared.Services.SignalRs; using Newtonsoft.Json; +using Nop.Core.Domain.Common; using Nop.Core.Domain.Orders; using Nop.Core.Domain.Payments; +using System.Linq.Expressions; using System.Runtime.Serialization; -using FruitBank.Common.Entities; -using Nop.Core.Domain.Common; namespace FruitBankHybrid.Shared.Tests; @@ -77,6 +78,18 @@ public sealed class OrderClientTests Assert.IsTrue(orderDtos.All(o => o.OrderItemDtos.All(oi => oi.ProductDto != null && oi.ProductDto.Id == oi.ProductId))); } + [TestMethod] + public async Task GetAllOrderDtosByFilter() + { + //Queryable? filter = dto => dto.Id == 15; + var orderDtos = await _signalRClient.GetAllOrderDtos(); + + Assert.IsNotNull(orderDtos); + Assert.IsTrue(orderDtos.Count != 0); + + Assert.IsTrue(orderDtos.All(o => o.OrderItemDtos.All(oi => oi.ProductDto != null && oi.ProductDto.Id == oi.ProductId))); + } + [TestMethod] [DataRow(1)] [DataRow(2)]