示例#1
0
        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));
        }
示例#2
0
        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);
        }