/// Ejemplo de llamada a API por medio de verbo GET
public async Task<List<PeriodoNominaBE>> Listar()
{
//return null;
List<PeriodoNominaBE> lista = null;
try
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(apiUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ConfigurationManager.AppSettings["token"].ToString());
client.Timeout = TimeSpan.FromMinutes(10);
//Al infinito
client.Timeout = new TimeSpan(0, 0, 0, 0, -1);
HttpResponseMessage response = await client.GetAsync(apiUrl + "PeriodoNomina/Listar/");
if (response.IsSuccessStatusCode)
{
// Si se va a recibir un JSON bastante grande
// https://stackoverflow.com/questions/56398881/how-to-read-json-payload-of-a-large-response
var stream = await response.Content.ReadAsStreamAsync();
using (StreamReader sr = new StreamReader(stream))
using (JsonReader reader = new JsonTextReader(sr))
{
JsonSerializer serializer = new JsonSerializer();
//var o = serializer.Deserialize<SomeClassMatchingTheJsonSchema>(reader);
lista = serializer.Deserialize<List<PeriodoNominaBE>>(reader);
}
var jsonPuro = await response.Content.ReadAsStringAsync();
var jsonDesarializado = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonPuro);
lista = JsonConvert
.DeserializeObject<List<PeriodoNominaBE>>(jsonPuro.ToString()
, new JsonSerializerSettings()
{
MissingMemberHandling =
MissingMemberHandling.Ignore
});
// var lista2 = JsonConvert.DeserializeObject<PeriodoPago>(data);
}
}
return lista;
}
catch (Exception ex)
{
throw;
}
}
public async Task<String> Crear(MovimientoEspecialBE entidad)
{
//return null;
String codigoMovimientoEspecial = String.Empty;
try
{
using (HttpClient client = new HttpClient())
{
//apiUrl = "http://localhost:50356/api/MovimientoEspecial/crear";
apiUrl += "MovimientoEspecial/Crear";
var informacionAMandar = Newtonsoft.Json.JsonConvert.SerializeObject(entidad,
Newtonsoft.Json.Formatting.None,
new JsonSerializerSettings {
NullValueHandling = NullValueHandling.Ignore
});
client.BaseAddress = new Uri(apiUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ConfigurationManager.AppSettings["token"].ToString());
client.Timeout = TimeSpan.FromMinutes(10);
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "");
request.Content = new StringContent(informacionAMandar,Encoding.UTF8, "application/json");//CONTENT-TYPE header
HttpResponseMessage response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
var jsonPuro = await response.Content.ReadAsStringAsync();
var jsonDesarializado = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonPuro);
codigoMovimientoEspecial = jsonDesarializado.ToString();
}
}
return codigoMovimientoEspecial;
}
catch (Exception ex)
{
throw;
}
}