improvements, fixes, etc...
This commit is contained in:
parent
7c07811ef6
commit
1673f1fd90
|
|
@ -1,5 +1,6 @@
|
|||
using AyCode.Core.Loggers;
|
||||
using AyCode.Services.SignalRs;
|
||||
using DocumentFormat.OpenXml.Drawing;
|
||||
using FruitBank.Common.Dtos;
|
||||
using FruitBank.Common.Entities;
|
||||
using FruitBank.Common.Interfaces;
|
||||
|
|
@ -20,14 +21,16 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers;
|
|||
public class CustomOrderSignalREndpoint(FruitBankDbContext ctx, SignalRSendToClientService sendToClient, IPriceCalculationService customPriceCalculationService,IEventPublisher eventPublisher, IWorkContext workContext, IEnumerable<IAcLogWriterBase> logWriters)
|
||||
: ICustomOrderSignalREndpointServer
|
||||
{
|
||||
private const int FromOrderDays = -14;
|
||||
private const int LastOrderDays = 15;
|
||||
private readonly ILogger _logger = new Logger<CustomOrderSignalREndpoint>(logWriters.ToArray());
|
||||
|
||||
[SignalR(SignalRTags.GetAllOrderDtos)]
|
||||
public async Task<List<OrderDto>> GetAllOrderDtos()
|
||||
{
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(FromOrderDays);
|
||||
return await ctx.OrderDtos.GetAll(true).Where(o => o.CreatedOnUtc > fromDateUtc).ToListAsync();
|
||||
_logger.Detail($"GetAllOrderDtos invoked; lastDaysCount: {LastOrderDays}");
|
||||
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastOrderDays);
|
||||
return await ctx.OrderDtos.GetAll(true).Where(o => o.CreatedOnUtc >= fromDateUtc).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetOrderDtoById)]
|
||||
|
|
@ -45,8 +48,15 @@ public class CustomOrderSignalREndpoint(FruitBankDbContext ctx, SignalRSendToCli
|
|||
[SignalR(SignalRTags.GetPendingOrderDtosForMeasuring)]
|
||||
public async Task<List<OrderDto>> GetPendingOrderDtosForMeasuring(int lastDaysCount)
|
||||
{
|
||||
_logger.Detail($"GetPendingOrderDtosForMeasuring invoked; lastDaysCount: {lastDaysCount}");
|
||||
|
||||
var startTime = DateTime.Now;
|
||||
var fromDate = DateTime.Now.AddDays(-lastDaysCount);
|
||||
return await ctx.OrderDtos.GetAllForMeasuring(fromDate).ToListAsync();
|
||||
|
||||
var orders = await ctx.OrderDtos.GetAllForMeasuring(fromDate).ToListAsync();
|
||||
_logger.Detail($"GetPendingOrderDtosForMeasuring; ordersCount: {orders.Count}; dbResponse: {(DateTime.Now - startTime).TotalSeconds} sec.");
|
||||
|
||||
return orders;
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetOrderDatesForMeasuring)]
|
||||
|
|
@ -78,8 +88,10 @@ public class CustomOrderSignalREndpoint(FruitBankDbContext ctx, SignalRSendToCli
|
|||
[SignalR(SignalRTags.GetAllOrderItemDtos)]
|
||||
public async Task<List<OrderItemDto>> GetAllOrderItemDtos()
|
||||
{
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(FromOrderDays);
|
||||
return await ctx.OrderItemDtos.GetAll(true).Where(oi => oi.OrderDto.CreatedOnUtc > fromDateUtc).ToListAsync();
|
||||
_logger.Detail($"GetAllOrderItemDtos invoked; lastDaysCount: {LastOrderDays}");
|
||||
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastOrderDays);
|
||||
return await ctx.OrderItemDtos.GetAll(true).Where(oi => oi.OrderDto == null || oi.OrderDto.CreatedOnUtc >= fromDateUtc).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetAllOrderItemDtoByOrderId)]
|
||||
|
|
@ -103,7 +115,10 @@ public class CustomOrderSignalREndpoint(FruitBankDbContext ctx, SignalRSendToCli
|
|||
[SignalR(SignalRTags.GetAllOrderItemPallets)]
|
||||
public async Task<List<OrderItemPallet>> GetAllOrderItemPallets()
|
||||
{
|
||||
return await ctx.OrderItemPallets.GetAll(true).ToListAsync();
|
||||
_logger.Detail($"GetAllOrderItemPallets invoked; lastDaysCount: {LastOrderDays}");
|
||||
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastOrderDays);
|
||||
return await ctx.OrderItemPallets.GetAll(true).Where(oip => oip.OrderItemDto.OrderDto == null || oip.OrderItemDto.OrderDto.CreatedOnUtc >= fromDateUtc).ToListAsync();
|
||||
}
|
||||
[SignalR(SignalRTags.GetAllOrderItemPalletByOrderItemId)]
|
||||
public async Task<List<OrderItemPallet>> GetAllOrderItemPalletByOrderItemId(int orderItemId)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
using AyCode.Core.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using AyCode.Core.Extensions;
|
||||
using AyCode.Core.Loggers;
|
||||
using AyCode.Services.SignalRs;
|
||||
using DocumentFormat.OpenXml.Office2010.Excel;
|
||||
|
|
@ -37,6 +41,7 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
|
|||
IEnumerable<IAcLogWriterBase> logWriters)
|
||||
: BasePluginController, IFruitBankDataControllerServer
|
||||
{
|
||||
private const int LastShippingDays = 15;
|
||||
private readonly ILogger _logger = new Logger<FruitBankDataController>(logWriters.ToArray());
|
||||
|
||||
[SignalR(SignalRTags.ProcessAndSaveFullShippingJson)]
|
||||
|
|
@ -93,18 +98,24 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
|
|||
[SignalR(SignalRTags.GetShippings)]
|
||||
public async Task<List<Shipping>> GetShippings()
|
||||
{
|
||||
_logger.Detail($"GetShippings invoked");
|
||||
_logger.Detail($"GetShippings invoked; lastDaysCount: {LastShippingDays}");
|
||||
|
||||
return await ctx.Shippings.GetAll(true).ToListAsync();
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastShippingDays);
|
||||
return await ctx.Shippings.GetAll(true).Where(s => s.ShippingDate >= fromDateUtc).ToListAsync();
|
||||
//return await ctx.Shippings.Table.LoadWith(sd => sd.ShippingDocuments).ThenLoad(si => si.ShippingItems).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetNotMeasuredShippings)]
|
||||
public async Task<List<Shipping>> GetNotMeasuredShippings()
|
||||
{
|
||||
_logger.Detail($"GetNotMeasuredShippings invoked");
|
||||
_logger.Detail($"GetNotMeasuredShippings invoked; lastDaysCount: {LastShippingDays}");
|
||||
|
||||
var startTime = DateTime.Now;
|
||||
var shippings = await ctx.Shippings.GetAllNotMeasured(true, LastShippingDays).ToListAsync();
|
||||
|
||||
_logger.Detail($"GetNotMeasuredShippings; shippingsCount: {shippings.Count}; dbResponse: {(DateTime.Now - startTime).TotalSeconds} sec.");
|
||||
return shippings;
|
||||
|
||||
return await ctx.Shippings.GetAllNotMeasured(true).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetShippingById)]
|
||||
|
|
@ -140,9 +151,11 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
|
|||
[SignalR(SignalRTags.GetShippingItems)]
|
||||
public async Task<List<ShippingItem>> GetShippingItems()
|
||||
{
|
||||
_logger.Detail($"GetShippingItems invoked");
|
||||
_logger.Detail($"GetShippingItems invoked; lastDaysCount: {LastShippingDays}");
|
||||
|
||||
return await ctx.ShippingItems.GetAll(true).ToListAsync();
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastShippingDays);
|
||||
return await ctx.ShippingItems.GetAll(true).Where(si => si.ShippingDocument.Shipping == null ||
|
||||
si.ShippingDocument.Shipping.ShippingDate >= fromDateUtc).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetShippingItemsByDocumentId)]
|
||||
|
|
@ -161,6 +174,14 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
|
|||
return await ctx.ShippingItems.GetAllByShippingIdAsync(shippingId, true).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetShippingItemsByPartnerId)]
|
||||
public async Task<List<ShippingItem>> GetShippingItemsByPartnerId(int partnerId)
|
||||
{
|
||||
_logger.Detail($"GetShippingItemsByPartnerId invoked");
|
||||
|
||||
return await ctx.ShippingItems.GetAllByPartnerIdAsync(partnerId, true).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetShippingItemById)]
|
||||
public async Task<ShippingItem> GetShippingItemById(int id)
|
||||
{
|
||||
|
|
@ -203,6 +224,17 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
|
|||
return await ctx.ShippingItems.GetByIdAsync(shippingItem.Id, shippingItem.ShippingDocument != null);
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetShippingItemPallets)]
|
||||
public async Task<List<ShippingItemPallet>> GetShippingItemPallets()
|
||||
{
|
||||
_logger.Detail($"GetShippingItemPallets invoked; lastDaysCount: {LastShippingDays}");
|
||||
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastShippingDays);
|
||||
|
||||
return await ctx.ShippingItemPallets.GetAll(true).Where(sip => sip.ShippingItem.ShippingDocument.Shipping == null ||
|
||||
sip.ShippingItem.ShippingDocument.Shipping.ShippingDate >= fromDateUtc).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.AddShippingItemPallet)]
|
||||
public async Task<ShippingItemPallet> AddShippingItemPallet(ShippingItemPallet shippingItemPallet)
|
||||
{
|
||||
|
|
@ -259,9 +291,10 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
|
|||
[SignalR(SignalRTags.GetShippingDocuments)]
|
||||
public async Task<List<ShippingDocument>> GetShippingDocuments()
|
||||
{
|
||||
_logger.Detail($"GetShippingDocuments invoked");
|
||||
_logger.Detail($"GetShippingDocuments invoked; lastDaysCount: {LastShippingDays}");
|
||||
|
||||
return await ctx.ShippingDocuments.GetAll(true).ToListAsync();
|
||||
var fromDateUtc = DateTime.UtcNow.Date.AddDays(-LastShippingDays);
|
||||
return await ctx.ShippingDocuments.GetAll(true).Where(sd => sd.Shipping == null || sd.Shipping.ShippingDate >= fromDateUtc).ToListAsync();
|
||||
}
|
||||
|
||||
[SignalR(SignalRTags.GetShippingDocumentById)]
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public class OrderItemDtoDbTable : MgDtoDbTableBase<OrderItemDto, OrderItem>
|
|||
{
|
||||
return GetAll()
|
||||
.LoadWith(oi => oi.GenericAttributes)
|
||||
.LoadWith(oi => oi.OrderDto).ThenLoad(o => o.Customer)
|
||||
.LoadWith(oi => oi.OrderDto).ThenLoad(o => o.OrderNotes)
|
||||
.LoadWith(oi => oi.OrderDto).ThenLoad(o => o.GenericAttributes)
|
||||
.LoadWith(oi => oi.OrderItemPallets).ThenLoad(oip => oip.OrderItemDto).ThenLoad(oi => oi.GenericAttributes)
|
||||
|
|
@ -29,8 +30,8 @@ public class OrderItemDtoDbTable : MgDtoDbTableBase<OrderItemDto, OrderItem>
|
|||
|
||||
public Task<OrderItemDto> GetByIdAsync(int orderItemId, bool loadRelations) => GetAll(loadRelations).Where(oi => oi.Id == orderItemId).FirstOrDefaultAsync(null);
|
||||
|
||||
public IQueryable<OrderItemDto> GetAllByOrderId(int orderId, bool loadRelations = true)=> GetAll(loadRelations).Where(oi => oi.OrderId == orderId);
|
||||
public IQueryable<OrderItemDto> GetAllByProductId(int productId, bool loadRelations = true)=> GetAll(loadRelations).Where(oi => oi.ProductId == productId);
|
||||
public IQueryable<OrderItemDto> GetAllByOrderId(int orderId, bool loadRelations = true) => GetAll(loadRelations).Where(oi => oi.OrderId == orderId);
|
||||
public IQueryable<OrderItemDto> GetAllByProductId(int productId, bool loadRelations = true) => GetAll(loadRelations).Where(oi => oi.ProductId == productId);
|
||||
|
||||
public IQueryable<OrderItemDto> GetAllByIds(IEnumerable<int> orderItemIds, bool loadRelations = true) => GetAll(loadRelations).Where(oi => orderItemIds.Contains(oi.Id));
|
||||
public IQueryable<OrderItemDto> GetAllByOrderIds(IEnumerable<int> orderIds, bool loadRelations = true) => GetAll(loadRelations).Where(oi => orderIds.Contains(oi.OrderId));
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ public class ShippingDbTable : MgDbTableBase<Shipping>
|
|||
: GetAll();
|
||||
}
|
||||
|
||||
public IQueryable<Shipping> GetAllNotMeasured(bool loadRelations)
|
||||
=> GetAll(loadRelations).Where(s => !s.IsAllMeasured || s.MeasuredDate == null || s.MeasuredDate < DateTime.Now.AddDays(1000));
|
||||
public IQueryable<Shipping> GetAllNotMeasured(bool loadRelations, int lastDaysCount)
|
||||
=> GetAll(loadRelations).Where(s => !s.IsAllMeasured || s.MeasuredDate == null || s.MeasuredDate >= DateTime.Now.AddDays(-lastDaysCount));
|
||||
|
||||
|
||||
public Task<Shipping> GetByIdAsync(int id, bool loadRelations)
|
||||
|
|
|
|||
|
|
@ -62,6 +62,9 @@ public class ShippingItemDbTable : MgDbTableBase<ShippingItem>
|
|||
public IQueryable<ShippingItem> GetAllByShippingIdAsync(int shippingId, bool loadRelations)
|
||||
=> GetAll(loadRelations).Where(si => si.ShippingDocument.ShippingId == shippingId);
|
||||
|
||||
public IQueryable<ShippingItem> GetAllByPartnerIdAsync(int partnerId, bool loadRelations)
|
||||
=> GetAll(loadRelations).Where(si => si.ShippingDocument.PartnerId == partnerId);
|
||||
|
||||
private static void PrepareValues(ShippingItem shippingItem)
|
||||
{
|
||||
if (shippingItem.MeasuringCount < 1) shippingItem.MeasuringCount = 1;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ public class ShippingItemPalletDbTable : MeasuringItemPalletBaseDbTable<Shipping
|
|||
return loadRelations
|
||||
? GetAll()
|
||||
.LoadWith(sip => sip.ShippingItem).ThenLoad(si => si.ProductDto).ThenLoad(prod => prod.GenericAttributes)
|
||||
.LoadWith(sip => sip.ShippingItem).ThenLoad(si => si.ShippingDocument).ThenLoad(sd => sd.Shipping)
|
||||
//.LoadWith(sip => sip.ShippingItem).ThenLoad(si => si.ShippingDocument).ThenLoad(sd => sd.Shipping)
|
||||
//.LoadWith(sip => sip.ShippingItem).ThenLoad(si => si.ShippingDocument).ThenLoad(p => p.Partner)
|
||||
//.LoadWith(sip => sip.ShippingItem).ThenLoad(si => si.ShippingDocument).ThenLoad(sd => sd.ShippingDocumentToFiles).ThenLoad(sdtof => sdtof.ShippingDocumentFile)
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ public class PluginNopStartup : INopStartup
|
|||
|
||||
services.AddSignalR(hubOptions =>
|
||||
{
|
||||
//hubOptions.EnableDetailedErrors = true;
|
||||
hubOptions.EnableDetailedErrors = true;
|
||||
hubOptions.MaximumReceiveMessageSize = null; // 256 * 1024;
|
||||
hubOptions.KeepAliveInterval = TimeSpan.FromSeconds(FruitBankConstClient.SignalRKeepAliveIntervalSecond);
|
||||
hubOptions.ClientTimeoutInterval = TimeSpan.FromSeconds(FruitBankConstClient.SignarlRTimeoutIntervalSecond);
|
||||
|
|
|
|||
Loading…
Reference in New Issue