public ActionResult Registrar(RequestProductoDescuentoRegistrarDtoApi prm) { if (ConstanteVo.ActivarLLamadasConToken) { IEnumerable <string> headerUsr = Request.Headers[ConstanteVo.NombreParametroToken]; ConfiguracionToken.ConfigToken = headerUsr.FirstOrDefault(); if (string.IsNullOrEmpty(ConfiguracionToken.ConfigToken)) { return(RedirectToAction("Login", "Home")); } } var t = Task.Run(() => _lnProductoDescuento.Registrar(prm)); t.Wait(); return(Json(t.Result)); }
public async Task <ResponseProductoDescuentoRegistrarDtoApi> Registrar(RequestProductoDescuentoRegistrarDtoApi prm) { ResponseProductoDescuentoRegistrarDtoApi resultado = new ResponseProductoDescuentoRegistrarDtoApi(); int statusCode = 0; try { //Dentro de AJAX => datatype: 'json', headers: {'Authorization': 'Basic ' + valor token }, .... var response = string.Empty; string url = string.Format("{0}{1}", ConstanteVo.UrlBaseApi, _nombreControlador); using (var client = new HttpClient()) { if (ConstanteVo.ActivarLLamadasConToken && !string.IsNullOrEmpty(ConfiguracionToken.ConfigToken)) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ConfiguracionToken.ConfigToken.Trim()); } var content = new StringContent(JsonConvert.SerializeObject(prm), Encoding.UTF8, "application/json"); HttpResponseMessage result = await client.PostAsync(new Uri(url), content); if (result != null) { response = await result.Content.ReadAsStringAsync(); statusCode = (int)result.StatusCode; } } if (!string.IsNullOrEmpty(response)) { resultado = new ResponseProductoDescuentoRegistrarDtoApi(); resultado = JsonConvert.DeserializeObject <ResponseProductoDescuentoRegistrarDtoApi>(response); } } catch (Exception ex) { if (resultado == null) { resultado = new ResponseProductoDescuentoRegistrarDtoApi(); } if (resultado.ListaError == null) { resultado.ListaError = new List <ErrorDtoApi>(); } string exMessage = (ex.InnerException == null ? ex.Message : ex.InnerException.Message).Replace(Environment.NewLine, " "); Log(Level.Error, exMessage); resultado.ListaError.Add(new ErrorDtoApi { Mensaje = exMessage }); } finally { if (resultado != null) { resultado.StatusCode = statusCode; } } return(resultado); }