public PartialViewResult Buscar(int page = 1,
                                        string sort = "NUMEROEXPEDIENTE",
                                        string sortDir = "DESC",
                                        ExpedientePaginadoModelo 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<ExpedientePaginadoModelo>(tablaPaginado);


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

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

            //Invocamos al servicio

            var _expedientenegocio = new GNTExpedienteNegocio();

            var respuesta = _expedientenegocio.BuscarExpedientes(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<ExpedientePaginadoModelo>(tablaPaginado);


            //Retornamos vista con modelo
            return PartialView("_Index", model);
        }
 internal SolicitudBusquedaExpedientesVob ConstruirSolicitud(int pagina, string orden, string ordernDir, ExpedientePaginadoModelo expediente)
 {
     return new SolicitudBusquedaExpedientesVob
     {
         ExpedienteFilter = expediente.Filtro.Expediente,
         CriterioPaginar = new CriterioPaginarVob
         {
             Tamanio = Convert.ToInt32(Paginacion.TamanioPaginaMin),
             Pagina = pagina,
             Orden = orden,
             OrdenDir = ordernDir
         }
     };
 }
 internal ExpedientePaginadoModelo IniciarFiltro(ExpedientePaginadoModelo expedientePaginado)
 {
     if (expedientePaginado == null) expedientePaginado = new ExpedientePaginadoModelo();
     if (expedientePaginado.Filtro.Expediente == null) expedientePaginado.Filtro.Expediente = new ExpedienteVob();
     return expedientePaginado;
 }