internal SolicitudBusquedaSolicitudVob ConstruirSolicitud(int pagina, string orden, string ordernDir, SolicitudPaginadoModelo solicitud)
 {
     return new SolicitudBusquedaSolicitudVob
     {
         SolicitudFilter = solicitud.Filtro.Solicitud,
         CriterioPaginar = new CriterioPaginarVob
         {
             Tamanio = Convert.ToInt32(Paginacion.TamanioPaginaMin),
             Pagina = pagina,
             Orden = orden,
             OrdenDir = ordernDir
         }
     };
 }
        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;
 }