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

55 lines
1.7 KiB
C#

using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using AyCode.Models.Users;
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 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 = "BlazorClient";
private string _message;
private readonly List<(string User, string Text)> _messages = [];
protected override async Task OnInitializedAsync()
{
_logger = new LoggerClient<Chat>(LogWriters.ToArray());
_logger.Info("OnInitializedAsync");
}
private async Task Send()
{
var measuringModel = new MeasuringModel();
if (int.TryParse(_message, out var partnerId))
{
_message = string.Empty;
measuringModel.Name = (await FruitBankSignalRClient.GetPartnerById(partnerId))?.Name!;
}
_messages.Add((_userName, measuringModel?.Name ?? "ERROR"));
}
}
}