using AyCode.Core.Loggers; using AyCode.Services.SignalRs; using DocumentFormat.OpenXml.Office2010.Excel; using FruitBank.Common.Entities; using FruitBank.Common.Interfaces; using FruitBank.Common.Loggers; using FruitBank.Common.Models; using FruitBank.Common.SignalRs; using Microsoft.AspNetCore.Mvc; using Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer; namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers { //https://linq2db.github.io/articles/sql/Join-Operators.html public class FruitBankDataController(FruitBankDbContext ctx, IEnumerable logWriters): Controller, IFruitBankDataControllerServer { private readonly ILogger _logger = new Logger(logWriters.ToArray()); [SignalR(SignalRTags.GetMeasuringModels)] public async Task> GetMeasuringModels() { throw new NotImplementedException("GetMeasuringModels"); } [SignalR(SignalRTags.GetMeasuringModelByShippingId)] public async Task GetMeasuringModelByShippingId(int shippingId) { return await ctx.GetMeasuringModelByShippingId(shippingId); } [SignalR(SignalRTags.GetPartners)] public async Task> GetPartners() { _logger.Detail($"GetPartners invoked"); return await ctx.Partners.Table.ToListAsync(); } [SignalR(SignalRTags.GetPartnerById)] public async Task GetPartnerById(int id) { _logger.Detail($"GetPartnerById invoked; id: {id}"); return await ctx.Partners.GetByIdAsync(id); } [SignalR(SignalRTags.GetShippings)] public async Task> GetShippings() { _logger.Detail($"GetShippings invoked"); return await ctx.Shippings.Table.ToListAsync(); } [SignalR(SignalRTags.GetShippingById)] public async Task GetShippingById(int id) { _logger.Detail($"GetShippingById invoked; id: {id}"); return await ctx.Shippings.GetByIdAsync(id); } public async Task> GetShippingItem() { throw new NotImplementedException(); } public async Task GetShippingItemById(int id) { throw new NotImplementedException(); } public async Task> GetShippingDocuments() { throw new NotImplementedException(); } public async Task GetShippingDocumentById(int id) { throw new NotImplementedException(); } } }