improvements, fixes, etc...

This commit is contained in:
Loretta 2025-10-12 07:47:57 +02:00
parent 9b4099d1e3
commit 9d6cc0abed
8 changed files with 136 additions and 8 deletions

View File

@ -1,10 +1,13 @@
using FruitBank.Common.Interfaces;
using AyCode.Core.Extensions;
using FruitBank.Common.Interfaces;
using Mango.Nop.Core.Dtos;
using Mango.Nop.Core.Interfaces;
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Orders;
namespace FruitBank.Common.Dtos;
public class OrderDto : MgOrderDto, IOrderDto
public class OrderDto : MgOrderDto<OrderItemDto, ProductDto>, IOrderDto
{
public OrderDto() :base()
{ }

View File

@ -0,0 +1,35 @@
using FruitBank.Common.Entities;
using FruitBank.Common.Interfaces;
using Mango.Nop.Core.Dtos;
using Nop.Core.Domain.Orders;
namespace FruitBank.Common.Dtos;
public class OrderItemDto : MgOrderItemDto<ProductDto>, IOrderItemDto
{
public List<OrderItemPallet> OrderItemPallets { get; set; }
public OrderItemDto() : base()
{
}
public OrderItemDto(int orderItemId) : base(orderItemId)
{
}
public OrderItemDto(OrderItem orderItem) : base(orderItem)
{
}
public void CopyEntityValuesToDto(OrderItem entity, ProductDto productDto, List<OrderItemPallet> orderItemPallets)
{
base.CopyEntityValuesToDto(entity, productDto);
InitializeOrderItemPallets(orderItemPallets);
}
public void InitializeOrderItemPallets(List<OrderItemPallet> orderItemPallets)
{
OrderItemPallets = orderItemPallets;
}
}

View File

@ -1,8 +1,11 @@
using Mango.Nop.Core.Models;
using FruitBank.Common.Dtos;
using Mango.Nop.Core.Models;
namespace FruitBank.Common.Interfaces;
public interface ICustomOrderSignalREndpointCommon
{
//Task<OrderListModelExtended> GetPendingOrderModels();
Task<List<OrderDto>?> GetAllOrderDtos();
Task<OrderDto?> GetOrderDtoById(int orderId);
Task<List<OrderDto>?> GetPendingOrderDtos();
}

View File

@ -1,8 +1,10 @@
using Mango.Nop.Core.Interfaces;
using FruitBank.Common.Dtos;
using Mango.Nop.Core.Dtos;
using Mango.Nop.Core.Interfaces;
namespace FruitBank.Common.Interfaces;
public interface IOrderDto : IMgOrderDto
public interface IOrderDto : IMgOrderDto<OrderItemDto, ProductDto>
{
}

View File

@ -0,0 +1,13 @@
using FruitBank.Common.Dtos;
using FruitBank.Common.Entities;
using Mango.Nop.Core.Dtos;
using Mango.Nop.Core.Interfaces;
using Nop.Core.Domain.Catalog;
namespace FruitBank.Common.Interfaces;
public interface IOrderItemDto : IMgOrderItemDto<ProductDto>
{
public List<OrderItemPallet> OrderItemPallets { get; set; }
public void InitializeOrderItemPallets(List<OrderItemPallet> orderItemPallets);
}

View File

@ -45,7 +45,9 @@ public class SignalRTags : AcSignalRTags
public const int AddOrUpdateMeasuredShippingItemPallet = 97;
public const int AddOrUpdateMeasuredShippingItemPallets = 98;
public const int GetPendingOrderModels = 115;
public const int GetAllOrderDtos = 111;
public const int GetOrderDtoById = 112;
public const int GetPendingOrderDtos = 115;
public const int AuthenticateUser = 160;
public const int RefreshToken = 200;

View File

@ -0,0 +1,59 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using FruitBank.Common.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
using Nop.Core.Domain.Orders;
namespace FruitBankHybrid.Shared.Tests;
[TestClass]
public sealed class OrderClientTests
{
private const int CustomerIdAasdDsserverCom = 6; //aasd@dsserver.com
private FruitBankSignalRClient _signalRClient = null!;
[TestInitialize]
public void TestInit()
{
_signalRClient = new FruitBankSignalRClient(new List<IAcLogWriterClientBase>
{
//new ConsoleLogWriter(AppType.TestUnit, LogLevel.Detail, nameof(FruitBankClientTests)),
new SignaRClientLogItemWriter(AppType.TestUnit, LogLevel.Detail, nameof(FruitBankClientTests))
});
}
[TestMethod]
public async Task GetAllOrderDtos()
{
var orderDtos = await _signalRClient.GetAllOrderDtos();
Assert.IsNotNull(orderDtos);
Assert.IsTrue(orderDtos.Count != 0);
}
[TestMethod]
public async Task GetPendingOrderDtos()
{
var pendingOrderDtos = await _signalRClient.GetPendingOrderDtos();
Assert.IsNotNull(pendingOrderDtos);
Assert.IsTrue(pendingOrderDtos.All(o => o.OrderStatus == OrderStatus.Pending));
Assert.IsTrue(pendingOrderDtos.Count != 0);
}
[TestMethod]
[DataRow(1)]
[DataRow(2)]
[DataRow(3)]
public async Task GetOrderDtoById(int orderId)
{
var orderDto = await _signalRClient.GetOrderDtoById(orderId);
Assert.IsNotNull(orderDto);
Assert.IsTrue(orderDto.OrderStatusId >= 10);
//Assert.IsTrue(orderDto.CustomOrderNumber == orderId.ToString());
}
}

View File

@ -15,7 +15,7 @@ using Nop.Core.Domain.Customers;
namespace FruitBankHybrid.Shared.Services.SignalRs
{
public class FruitBankSignalRClient : AcSignalRClientBase, IFruitBankDataControllerClient
public class FruitBankSignalRClient : AcSignalRClientBase, IFruitBankDataControllerClient, ICustomOrderSignalREndpointClient
{
public FruitBankSignalRClient( /*IServiceProvider serviceProvider, */ IEnumerable<IAcLogWriterClientBase> logWriters) : base($"{FruitBankConstClient.BaseUrl}/{FruitBankConstClient.DefaultHubName}", new LoggerClient(nameof(FruitBankSignalRClient), logWriters.ToArray()))
{
@ -123,5 +123,16 @@ namespace FruitBankHybrid.Shared.Services.SignalRs
public Task<MgLoginModelResponse?> LoginMeasuringUser(MgLoginModelRequest loginModelRequest)
=> PostDataAsync<MgLoginModelRequest, MgLoginModelResponse>(SignalRTags.AuthenticateUser, loginModelRequest);
#endregion Authenticate
#region Orders
public Task<List<OrderDto>?> GetAllOrderDtos()
=> GetAllAsync<List<OrderDto>>(SignalRTags.GetAllOrderDtos);
public Task<OrderDto?> GetOrderDtoById(int orderId)
=> GetByIdAsync<OrderDto?>(SignalRTags.GetOrderDtoById, orderId);
public Task<List<OrderDto>?> GetPendingOrderDtos()
=> GetAllAsync<List<OrderDto>>(SignalRTags.GetPendingOrderDtos);
#endregion Orders
}
}