using Microsoft.Extensions.Configuration; using Shared.DTO; using System.Text; using System.Text.Json; namespace DAS { public class RegistrarMedicion { private readonly HttpClient _httpClient; private readonly IConfiguration _configuration; private static string? password; private static string? rutEmpresa; private static string? rutUsuario; public RegistrarMedicion(HttpClient httpClient, IConfiguration configuration) { _httpClient = httpClient; _configuration = configuration; rutUsuario = _configuration["Credenciales:rutEmpresa"] ?? ""; rutEmpresa = _configuration["Credenciales:rutUsuario"] ?? "" ?? ""; password = _configuration["Credenciales:password"] ?? ""; } public async Task EnviarMedicionAsync(string codigoObra, MedicionSubterraneaRequest request) { request.Autenticacion.Password = password; request.Autenticacion.RutEmpresa = rutEmpresa; request.Autenticacion.RutUsuario = rutUsuario; var baseUrl = _configuration["ApiSubterranea:BaseUrl"]; var endpoint = _configuration["ApiSubterranea:Endpoint"]; var url = $"{baseUrl}{endpoint}"; var timeStamp = DateTime.UtcNow.ToString("yyyy-MM-dd'T'HH:mm:ss-0000"); var json = JsonSerializer.Serialize(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); content.Headers.Add("codigoObra", codigoObra); content.Headers.Add("timeStampOrigen", timeStamp); var response = await _httpClient.PostAsync(url, content); return response.IsSuccessStatusCode; } } }