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; }