FruitBankHybridApp/FruitBankHybrid.Shared/Pages/Chat.razor.cs

70 lines
2.3 KiB
C#

using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using AyCode.Models.Users;
using FruitBank.Common.Entities;
using FruitBank.Common.Loggers;
using FruitBank.Common.Models;
using FruitBankHybrid.Shared.Services.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
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 Mango.Nop.Core.Dtos;
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 Chat : ComponentBase
{
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
private ILogger _logger;
private string _userName = "Partner name";
private string _message;
private readonly List<(string User, string Text)> _messages = [];
private List<CustomerDto> Users { get; set; } = [];
private bool DropDownVisible { get; set; }
private CustomerDto? SelectedUser { get; set; }
protected override async Task OnInitializedAsync()
{
_logger = new LoggerClient<Chat>(LogWriters.ToArray());
_logger.Info("OnInitializedAsync");
Users.AddRange(await FruitBankSignalRClient.GetMeasuringUsers() ?? []);
//SelectedUser = Users.FirstOrDefault();
//DropDownVisible = false;
await base.OnInitializedAsync();
}
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();
}
}
}