38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
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;
|
|
|
|
public RegistrarMedicion(HttpClient httpClient, IConfiguration configuration)
|
|
{
|
|
_httpClient = httpClient;
|
|
_configuration = configuration;
|
|
}
|
|
|
|
public async Task<bool> EnviarMedicionAsync(string codigoObra, MedicionSubterraneaRequest request)
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
}
|