diff --git a/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs b/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs index 1f6f4a6..5a3a5e6 100644 --- a/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs +++ b/Nop.Plugin.Misc.AIPlugin/Controllers/FruitBankDataController.cs @@ -138,6 +138,46 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers } + + [SignalR(SignalRTags.GetCargoPartners)] + public async Task> GetCargoPartners() + { + _logger.Detail($"GetCargoPartners invoked"); + + return [];// await ctx.CargoPartners.GetAll().ToListAsync(); + } + + [SignalR(SignalRTags.GetCargoPartnerById)] + public async Task GetCargoPartnerById(int id) + { + _logger.Detail($"GetCargoPartnerById invoked; id: {id}"); + return null;//await ctx.CargoPartners.GetByIdAsync(id); + } + + [SignalR(SignalRTags.AddCargoPartner)] + public async Task AddCargoPartner(CargoPartner cargoPartner) + { + ArgumentNullException.ThrowIfNull(cargoPartner); + + _logger.Detail($"AddCargoPartner invoked; id: {cargoPartner.Id}"); + + //await ctx.CargoPartners.InsertAsync(cargoPartner); + return null;// await ctx.Partners.GetByIdAsync(cargoPartner.Id, cargoPartner.ShippingDocuments != null); + } + + [SignalR(SignalRTags.UpdateCargoPartner)] + public async Task UpdateCargoPartner(CargoPartner cargoPartner) + { + ArgumentNullException.ThrowIfNull(cargoPartner); + + _logger.Detail($"UpdateCargoPartner invoked; id: {cargoPartner.Id}"); + + //await ctx.CargoPartners.UpdateAsync(cargoPartner); + return null;//await ctx.CargoPartners.GetByIdAsync(cargoPartner.Id, cargoPartner.ShippingDocuments != null); + } + + + [SignalR(SignalRTags.GetShippings)] public async Task> GetShippings() { diff --git a/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs b/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs index 0e8507a..0ecac3c 100644 --- a/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs +++ b/Nop.Plugin.Misc.AIPlugin/Infrastructure/PluginNopStartup.cs @@ -184,7 +184,7 @@ public class PluginNopStartup : INopStartup .AddAcBinaryProtocol(opts => { opts.ProtocolMode = BinaryProtocolMode.AsyncSegment; - opts.FlushPolicy = FlushPolicy.DoubleBuffered; + opts.FlushPolicy = FlushPolicy.Coalesced; // Explicit AcLogger instance (name-based category, matches the previous setup). // If omitted, the options extension falls back to ILogger from DI. diff --git a/Nop.Plugin.Misc.AIPlugin/Mapping/NameCompatibility.cs b/Nop.Plugin.Misc.AIPlugin/Mapping/NameCompatibility.cs index f454b52..2179563 100644 --- a/Nop.Plugin.Misc.AIPlugin/Mapping/NameCompatibility.cs +++ b/Nop.Plugin.Misc.AIPlugin/Mapping/NameCompatibility.cs @@ -42,9 +42,13 @@ public partial class NameCompatibility : INameCompatibility { typeof(StockTaking), FruitBankConstClient.StockTakingDbTableName}, { typeof(StockTakingItem), FruitBankConstClient.StockTakingItemDbTableName}, { typeof(StockTakingItemPallet), FruitBankConstClient.StockTakingItemPalletDbTableName}, + { typeof(CustomerCredit), FruitBankConstClient.CustomerCreditDbTableName}, { typeof(Preorder), FruitBankConstClient.PreOrderDbTableName}, { typeof(PreorderItem), FruitBankConstClient.PreOrderItemDbTableName}, + + { typeof(CargoPartner), FruitBankConstClient.CargoPartnerDbTableName}, + { typeof(CargoTruck), FruitBankConstClient.CargoTruckDbTableName}, };