private int ObtenerCantidad(OfertaCriterio criterio) { List <SqlParameter> parameters; var query = createQuery(criterio, out parameters); var ofertasDB = _context.Database.SqlQuery <int>(Consulta.ConsultaCantidad(query), parameters.ToArray()); return(ofertasDB.AsEnumerable().FirstOrDefault()); }
public PartialViewResult Listado(OfertaCriterio criterio, int pagina = 1, int tamañopagina = 7) { IEnumerable <OfertaViewOut> ofertas; var cantidad = default(int); ofertas = ObtenerOfertas(criterio, pagina, tamañopagina); cantidad = ObtenerCantidad(criterio); ofertas = new StaticPagedList <OfertaViewOut>(ofertas, pagina, tamañopagina, cantidad); ViewBag.Criterio = criterio; ViewBag.TotalRegistros = cantidad; return(PartialView("_partialListado", ofertas)); }
private string createQuery(OfertaCriterio criterio, out List <SqlParameter> parameters) { parameters = new List <SqlParameter>(); var query = new StringBuilder(Consulta.ObtenerOfertasListado()); if (criterio != null) { if (!string.IsNullOrEmpty(criterio.Nombre)) { query.Append(" AND j.[position] LIKE @Nombre "); parameters.Add(new SqlParameter() { DbType = System.Data.DbType.String, ParameterName = "Nombre", Value = "%" + criterio.Nombre + "%" }); } } return(query.ToString()); }
private IEnumerable <OfertaViewOut> ObtenerOfertas(OfertaCriterio criterio, int pagina, int tamañoPagina) { List <SqlParameter> parameters; var query = createQuery(criterio, out parameters); parameters.Add(new SqlParameter() { SqlDbType = System.Data.SqlDbType.Int, ParameterName = "pagina", Value = pagina }); parameters.Add(new SqlParameter() { SqlDbType = System.Data.SqlDbType.Int, ParameterName = "tamañoPagina", Value = tamañoPagina }); var ofertasDB = _context.Database.SqlQuery <OfertaViewOut>(Consulta.ConsultaPaginado(query), parameters.ToArray()); return(ofertasDB.AsEnumerable()); }