Example #1
0
        public ActionResult ObtenerData(PedidoDetalleObtenerFiltroDto 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(() => _lnPedidoDetalle.Obtener(prm));

            t.Wait();

            return(Json(t.Result));
        }
Example #2
0
        public async Task <ResultDataTable> Obtener(PedidoDetalleObtenerFiltroDto prm)
        {
            ResultDataTable resultado      = new ResultDataTable();
            long            totalRegistros = 0;
            List <PedidoDetalleObtenerPorIdPedidoDtoApi> lista = new List <PedidoDetalleObtenerPorIdPedidoDtoApi>();
            int statusCode = 0;

            try
            {
                try
                {
                    prm.Length = 100;
                }
                catch
                {
                }

                var    response = string.Empty;
                string url      = string.Format("{0}{1}/ObtenerPorIdPedido/{2}", ConstanteVo.UrlBaseApi, _nombreControlador, prm.IdPedido);

                using (var client = new HttpClient())
                {
                    if (ConstanteVo.ActivarLLamadasConToken && !string.IsNullOrEmpty(ConfiguracionToken.ConfigToken))
                    {
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ConfiguracionToken.ConfigToken.Trim());
                    }

                    HttpResponseMessage result = await client.GetAsync(new Uri(url));

                    if (result != null)
                    {
                        response = await result.Content.ReadAsStringAsync();

                        statusCode = (int)result.StatusCode;
                    }
                }

                ResponsePedidoDetalleObtenerPorIdPedidoDtoApi root = JsonConvert.DeserializeObject <ResponsePedidoDetalleObtenerPorIdPedidoDtoApi>(response);
                if (root != null && root.Cuerpo != null)
                {
                    lista          = root.Cuerpo;
                    totalRegistros = root.CantidadTotalRegistros;
                    if (lista.Any())
                    {
                        int indice = Convert.ToInt32(prm.Start) + 1;
                        foreach (var item in lista)
                        {
                            item.Item = indice;
                            indice++;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string exMessage = (ex.InnerException == null ? ex.Message : ex.InnerException.Message).Replace(Environment.NewLine, " ");
                Log(Level.Error, exMessage);
                resultado.error = exMessage;
            }
            finally
            {
                resultado.data            = lista;
                resultado.draw            = prm.Draw;
                resultado.recordsTotal    = (int)totalRegistros;
                resultado.recordsFiltered = (int)totalRegistros;
                if (resultado != null)
                {
                    resultado.StatusCode = statusCode;
                }
            }

            return(resultado);
        }