using AyCode.Core.Helpers; using AyCode.Core.Loggers; using AyCode.Services.Server.SignalRs; using AyCode.Services.SignalRs; using FruitBank.Common; using FruitBank.Common.Entities; using FruitBank.Common.Interfaces; using FruitBank.Common.Models; using FruitBank.Common.SignalRs; using FruitBankHybrid.Shared.Services.Loggers; using Mango.Nop.Core.Dtos; using Mango.Nop.Core.Models; namespace FruitBankHybrid.Shared.Services.SignalRs { public class FruitBankSignalRClient : AcSignalRClientBase, IFruitBankDataControllerClient { public FruitBankSignalRClient( /*IServiceProvider serviceProvider, */ IEnumerable logWriters) : base($"{FruitBankConstClient.BaseUrl}/{FruitBankConstClient.DefaultHubName}", new LoggerClient(nameof(FruitBankSignalRClient), logWriters.ToArray())) { ConstHelper.NameByValue(0); } public Task GetMeasuringModelByShippingId(int shippingId) => GetByIdAsync(SignalRTags.GetMeasuringModelByShippingId, shippingId); //public Task GetWelcomeMessageAsync(string message, Action? callback = null) //{ // Logger.Detail($"GetWelcomeMessageAsync client called; message: {message}"); // return GetAllAsync(SignalRTags.GetAllTransferDestinations, callback); //} public Task?> GetMeasuringModels() => GetAllAsync>(SignalRTags.GetMeasuringModels); public Task?> GetPartners() => GetAllAsync>(SignalRTags.GetPartners); #region Partner public Task GetPartnerById(int id) => GetByIdAsync(SignalRTags.GetPartnerById, id); public Task UpdatePartner(Partner partner) => PostDataAsync(SignalRTags.UpdatePartner, partner); #endregion Partner #region Shipping public Task?> GetShippings() => GetAllAsync>(SignalRTags.GetShippings); public Task?> GetNotMeasuredShippings() => GetAllAsync>(SignalRTags.GetNotMeasuredShippings); public Task GetShippingById(int id) => GetByIdAsync(SignalRTags.GetShippingById, id); public Task UpdateShipping(Shipping shipping) => PostDataAsync(SignalRTags.UpdateShipping, shipping); #endregion Shipping #region ShippingItem public Task?> GetShippingItems() => GetAllAsync>(SignalRTags.GetShippingItems); public Task GetShippingItemById(int id) => GetByIdAsync(SignalRTags.GetShippingItemById, id); public Task UpdateShippingItem(ShippingItem shippingItem) => PostDataAsync(SignalRTags.UpdateShippingItem, shippingItem); #endregion ShippingItem #region ShippingDocument public Task?> GetShippingDocuments() => GetAllAsync>(SignalRTags.GetShippingDocuments); public Task GetShippingDocumentById(int id) => GetByIdAsync(SignalRTags.GetShippingDocumentById, id); public Task UpdateShippingDocument(ShippingDocument shippingDocument) => PostDataAsync(SignalRTags.UpdateShippingDocument, shippingDocument); #endregion ShippingDocument #region Customer public Task?> GetMeasuringUsers() => GetAllAsync>(SignalRTags.GetMeasuringUsers); #endregion Customer #region Product public Task?> GetProductDtos() => GetAllAsync>(SignalRTags.GetProductDtos); #endregion Product #region Authenticate public Task LoginMeasuringUser(string customerEmail, string customerPassword) => LoginMeasuringUser(new MgLoginModelRequest(customerEmail, customerPassword)); public Task LoginMeasuringUser(MgLoginModelRequest loginModelRequest) => PostDataAsync(SignalRTags.AuthenticateUser, loginModelRequest); #endregion Authenticate } }