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 ExpedientePaginadoModelo IniciarFiltro(ExpedientePaginadoModelo expedientePaginado) { if (expedientePaginado == null) { expedientePaginado = new ExpedientePaginadoModelo(); } if (expedientePaginado.Filtro.Expediente == null) { expedientePaginado.Filtro.Expediente = new ExpedienteVob(); } return(expedientePaginado); }
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 } }); }