public PartialViewResult Buscar(int page       = 1,
                                        string sort    = "NUMEROESOLICITUD",
                                        string sortDir = "DESC",
                                        SolicitudPaginadoModelo tablaPaginado = null,
                                        string mensaje = null,
                                        bool back      = false
                                        )
        {
            //  var nombre = tablaPaginado.Filtro.Expediente != null ? tablaPaginado.Filtro.Expediente.NumeroExpediente : 0;

            //Buscamos si existe un temp del back
            if (back)
            {
                tablaPaginado = GetCache <SolicitudPaginadoModelo>(tablaPaginado);
            }


            //Asignamos valores iniciales
            tablaPaginado = IniciarFiltro(tablaPaginado);

            //Construimos solicitud
            var solicitud = ConstruirSolicitud(page, sort, sortDir, tablaPaginado);

            //Invocamos al servicio

            var _solicitudnegocio = new GNTSolicitudNegocio();

            var respuesta = _solicitudnegocio.BuscarSolicitudes(solicitud);



            //construimos modelo
            var model = ConstruirModeloPaginado(page, respuesta, tablaPaginado.Filtro);

            model.AsignarMensaje(mensaje);

            if (respuesta != null)
            {
                if (respuesta.totalelementos == 0)
                {
                    model.AsignarMensaje(MensajeMvc.MensajeAdvertencia(Mensajes.Msj_NoSeEncontraronResultados));
                }
            }


            //Guardamos el filtro en la cache de la sesiĆ³n
            if (!back)
            {
                SetCache <SolicitudPaginadoModelo>(tablaPaginado);
            }


            //Retornamos vista con modelo
            return(PartialView("_Index", model));
        }
 internal SolicitudPaginadoModelo IniciarFiltro(SolicitudPaginadoModelo solicitudPaginado)
 {
     if (solicitudPaginado == null)
     {
         solicitudPaginado = new SolicitudPaginadoModelo();
     }
     if (solicitudPaginado.Filtro.Solicitud == null)
     {
         solicitudPaginado.Filtro.Solicitud = new SolicitudVob();
     }
     return(solicitudPaginado);
 }
 internal SolicitudBusquedaSolicitudesVob ConstruirSolicitud(int pagina, string orden, string ordernDir, SolicitudPaginadoModelo solicitud)
 {
     return(new SolicitudBusquedaSolicitudesVob
     {
         SolicitudFilter = solicitud.Filtro.Solicitud,
         CriterioPaginar = new CriterioPaginarVob
         {
             Tamanio = Convert.ToInt32(Paginacion.TamanioPaginaMin),
             Pagina = pagina,
             Orden = orden,
             OrdenDir = ordernDir
         }
     });
 }