public IHttpActionResult GetListaPrecio(ListarPrecioRequest reqest)
        {
            ListaPrecioResponse objresponse = new ListaPrecioResponse();

            objresponse.status = new ProcesoResponse();
            objresponse.Hits   = new List <Dominio.Producto>();



            try
            {
                var query = from p in BD.t_producto
                            join c in BD.t_tipocomida on p.tico_id equals c.tico_id
                            where p.rest_ruc.Equals(reqest.RucRestaurante)
                            select new { p.prod_descrip, p.prod_id, p.prod_nombre, p.prod_precio, p.rest_ruc,
                                         p.tico_id, c.tico_descrip };


                foreach (var item in query)
                {
                    objresponse.Hits.Add(new Dominio.Producto()
                    {
                        prod_descrip = item.prod_descrip,
                        prod_id      = item.prod_id,
                        prod_nombre  = item.prod_nombre,
                        prod_precio  = item.prod_precio,
                        rest_ruc     = item.rest_ruc,
                        tico_descrip = item.tico_descrip
                    });
                }

                objresponse.totalregistros = query.Count();

                objresponse.status.estado = 0;

                objresponse.status.mensaje = "Info de Precios";
            }
            catch (Exception err)
            {
                objresponse.status.estado  = -1;
                objresponse.status.mensaje = err.Message;
                throw err;
            }

            return(Ok(objresponse));
        }
        public ListaPrecioResponse ListarPrecio(ListarPrecioRequest request)
        {
            ListaPrecioResponse response = new ListaPrecioResponse();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(ServicioCommon.Parametros.URLServicio);
                HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8);
                httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                var responseTask = client.PostAsync("api/restaurante/producto", httpContent);
                responseTask.Wait();
                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var usuarioResponse = result.Content.ReadAsStringAsync().Result;
                    response = JsonConvert.DeserializeObject <ListaPrecioResponse>(usuarioResponse);
                }
            }

            return(response);
        }
        public JsonResult LitaPrecios(FormCollection frm)
        {
            string iDisplayLength = HttpContext.Request.Form["iDisplayLength"];
            string iDisplayStart  = HttpContext.Request.Form["iDisplayStart"];
            string sEcho          = HttpContext.Request.Form["sEcho"];
            string sData          = HttpContext.Request.Form["sData"];

            ResponseOperacionBE o_ResponseOperacion = new ResponseOperacionBE();

            o_ResponseOperacion.OperacionType = new OperacionType();
            o_ResponseOperacion.OperacionType.codigo_operacion  = "LISTA_PRECIOS";
            o_ResponseOperacion.OperacionType.nombre_operacion  = "Listar precios";
            o_ResponseOperacion.OperacionType.mensaje_operacion = "Listado con éxito";
            o_ResponseOperacion.OperacionType.estado_operacion  = "0";

            RequestOperacionBE Request = new RequestOperacionBE();

            Request = new JavaScriptSerializer().Deserialize <RequestOperacionBE>(sData);
            Request.DataTableRquest = new DataTableRequest();

            Request.DataTableRquest.iDisplayLength = Convert.ToInt32(iDisplayLength);
            Request.DataTableRquest.iDisplayStart  = Convert.ToInt32(iDisplayStart);
            Request.DataTableRquest.sEcho          = sEcho;


            DataTableResponse ResponseOperacion = new DataTableResponse();
            int nIdIniComp = Request.DataTableRquest.iDisplayStart;
            int nIdFinComp = Request.DataTableRquest.iDisplayLength;

            nIdFinComp = nIdIniComp + nIdFinComp;
            nIdIniComp = nIdIniComp + 1;

            try
            {
                SeguridadMVC.Seguridad.SessionWrapper objSesion = new SeguridadMVC.Seguridad.SessionWrapper();
                ProxyApiUsuario apiUsuario = new ProxyApiUsuario();

                var responseUsuario = apiUsuario.ObtenerUsuario(objSesion.Usuario.Idusuario);


                var deserailizar = new JsonSerializerSettings();
                deserailizar.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;

                deserailizar.Culture = System.Threading.Thread.CurrentThread.CurrentCulture;
                var parameter = Newtonsoft.Json.JsonConvert.DeserializeObject <ListarPrecioRequest>(Request.OperacionType.Objeto1.ToString(), deserailizar);

                parameter.prm_reginicio = nIdIniComp;
                parameter.prm_regfin    = nIdFinComp;



                parameter.RucRestaurante = responseUsuario.Restaurante.rest_ruc;

                ProxyApiProducto proxyProducto = new ProxyApiProducto();

                ListaPrecioResponse result = proxyProducto.ListarPrecio(parameter);



                ResponseOperacion.aaData               = result.Hits;
                ResponseOperacion.iTotalRecords        = Request.DataTableRquest.iDisplayLength;
                ResponseOperacion.iTotalDisplayRecords = result.totalregistros;
                ResponseOperacion.sEcho = Request.DataTableRquest.sEcho;

                o_ResponseOperacion.DataTableResponse = ResponseOperacion;
            }
            catch (Exception err)
            {
                o_ResponseOperacion.OperacionType.mensaje_operacion = "Error inesperado";
                o_ResponseOperacion.OperacionType.estado_operacion  = "-1";
            }

            var jsonResult = new JsonResult {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            jsonResult.Data = o_ResponseOperacion;
            return(jsonResult);
        }