using Microsoft.AspNetCore.Components; using OI.Metrology.Shared.DataModels; using OI.Metrology.Shared.Models.Stateless; using System.Net.Http.Json; namespace OI.Metrology.Client.Pages; public partial class RunHeaders { [Inject] protected HttpClient? HttpClient { get; set; } [Inject] protected ILogger? Logger { get; set; } private List? _ToolTypeNameIdCollection; private Metrology.Shared.DataModels.AwaitingDisposition[]? _Records; protected override async Task OnInitializedAsync() { if (Logger is null) throw new NullReferenceException(nameof(Logger)); if (HttpClient is null) throw new NullReferenceException(nameof(HttpClient)); _ToolTypeNameIdCollection = new(); string toolTypeController = IToolTypesController.GetRouteName(); // string controllerName = IMetrologyRepository.GetRouteName(); try { Result? result = await HttpClient.GetFromJsonAsync>($"api/{toolTypeController}"); if (result?.Results is not null) { _ToolTypeNameIdCollection.AddRange(result.Results); if (_ToolTypeNameIdCollection is not null && _ToolTypeNameIdCollection.Any()) _Records = await HttpClient.GetFromJsonAsync($"api/controllerName"); } } catch (Exception) { string json = await HttpClient.GetStringAsync($"api/{toolTypeController}"); Logger.LogInformation(message: json); } } }