using AyCode.Core.Helpers; using AyCode.Core.Loggers; using AyCode.Models.Users; using DevExpress.Blazor; using FruitBank.Common.Entities; using FruitBank.Common.Loggers; using FruitBank.Common.Models; using FruitBankHybrid.Shared.Services.Loggers; using FruitBankHybrid.Shared.Services.SignalRs; using Mango.Nop.Core.Dtos; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Logging; using Microsoft.JSInterop; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; using static System.Net.Mime.MediaTypeNames; using static System.Runtime.InteropServices.JavaScript.JSType; using ILogger = FruitBank.Common.Loggers.ILogger; namespace FruitBankHybrid.Shared.Pages { public partial class MeasuringIn : ComponentBase { [Inject] public required IEnumerable LogWriters { get; set; } [Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; } private ILogger _logger = null!; private List NotMeasuredShippings { get; set; } = null!; private Shipping? SelectedShipping { get; set; } private ShippingDocument? SelectedShippingDocument { get; set; } private ShippingItem? SelectedShippingItem { get; set; } private string _userName = "Partner name"; private string _message = string.Empty; private readonly List<(string User, string Text)> _messages = []; protected override async Task OnInitializedAsync() { _logger = new LoggerClient(LogWriters.ToArray()); _logger.Info("OnInitializedAsync"); NotMeasuredShippings = await FruitBankSignalRClient.GetNotMeasuredShippings() ?? []; SelectedShipping = NotMeasuredShippings?.FirstOrDefault(); await base.OnInitializedAsync(); } public void OnSelectedShippingChanged(SelectedDataItemChangedEventArgs eventArgs) { SelectedShippingDocument = eventArgs.DataItem.ShippingDocuments?.FirstOrDefault(); SelectedShippingItem = SelectedShippingDocument?.ShippingItems?.FirstOrDefault(); } public void OnSelectedShippingDocumentChanged(SelectedDataItemChangedEventArgs eventArgs) { SelectedShippingItem = eventArgs.DataItem?.ShippingItems?.FirstOrDefault(); } private async Task GetPartner() { var measuringModel = new MeasuringModel(); if (int.TryParse(_message, out var partnerId)) { _message = string.Empty; measuringModel.Name = (await FruitBankSignalRClient.GetPartnerById(partnerId))?.Name!; //measuringModel.Name = (await FruitBankSignalRClient.GetMeasuringModelByShippingId(partnerId))?.Name!; } _messages.Add((_userName, measuringModel?.Name ?? "ERROR")); //StateHasChanged(); } } }