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

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

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

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

            //Invocamos al servicio

            //var _expedientenegocio = new GNTExpedienteNegocio();
            solicitud.DisponibilidadFilter.EstadoSolicitud = estado;
            solicitud.DisponibilidadFilter.NumeroSolicitud = id;

            //var respuesta = _expedientenegocio.BuscarExpedientes(solicitud);
            var respuesta = _licenciaAdm.SolicitudLicenciaNegocio.BuscarDisponibilidadInspector(solicitud);

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

            model.Filtro.DisponibilidadInspector.NumeroSolicitud = id;
            model.Filtro.DisponibilidadInspector.EstadoSolicitud = estado;

            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<DisponibilidadInspectorPaginadoModelo>(tablaPaginado);

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