public PartialViewResult Notifications(int numPage = 0, int filtro = 0, int extra = 0, string keyword = "") { Notificacion.BLL.Notificaciones ctx = new Notificacion.BLL.Notificaciones(); List <NotificacionDatos> model = null; var records = numPage * 20; switch (filtro) { case 0: //bandeja de entrada model = ctx.GetNotifications(); break; case 1: //favoritas model = ctx.GetFavoritas(); break; case 2: //status model = ctx.GetNotificationsByStatus(extra); break; case 3: //tipo model = ctx.GetNotificationsByType(extra); break; default: model = ctx.GetNotifications(); break; } if (keyword != "") { keyword = keyword.ToUpper(); model = model.Where(x => x.Titulo.ToUpper().Contains(keyword) || x.Contenido.ToUpper().Contains(keyword) || x.Cliente.ToUpper().Contains(keyword)).ToList(); } var paginas = (double)model.Count / (double)20; ViewBag.NumPaginas = Math.Ceiling(paginas); ViewBag.PaginaActiva = numPage; ViewBag.TotalRecords = model.Count; model = model.OrderByDescending(x => x.Fecha).ToList(); model = model.Skip(records).Take(20).ToList(); ViewBag.FirstRecord = records + 1; ViewBag.LastRecord = records + model.Count; return(PartialView(model)); }
public PartialViewResult GetListaNotificaciones(int[] filtros, int bandeja = 1, int numPage = 0, string keyword = "") { Notificaciones ctx = new Notificaciones(); List <NotificacionDatos> model = null; var records = numPage * 20; var userSession = Session["usuario"] as SYA_Usuarios; var user = ControlAcceso.GetUsuarioEnSession(); switch (bandeja) { case 1: //Entrada model = ctx.GetBandejaEntrada(user); break; case 2: //Favoritas model = ctx.GetFavoritas(user); break; case 3: //Nuevas model = ctx.getNuevas(user); break; case 4: //Archivadas model = ctx.GetNotificationsArchivadas(user); break; } double paginas = 0; int totalRecors = 0; int firstRecord = 0; int lastRecord = 0; if (model != null) { if (keyword != "") { keyword = keyword.ToUpper(); model = model.Where(x => x.Titulo.ToUpper().Contains(keyword) || x.Usuario.ToUpper().Contains(keyword) || x.Cliente.ToUpper().Contains(keyword)).ToList(); } if (filtros != null) { model = model.Where(x => filtros.Contains(x.Tipo)).ToList(); } paginas = (double)model.Count / (double)20; totalRecors = model.Count; model = model.OrderByDescending(x => x.Fecha).ToList(); model = model.Skip(records).Take(20).ToList(); firstRecord = model.Count == 0 ? 0 : records + 1; lastRecord = records + model.Count; } ViewBag.NumPaginas = Math.Ceiling(paginas); ViewBag.PaginaActiva = numPage; ViewBag.TotalRecords = totalRecors; ViewBag.FirstRecord = firstRecord; ViewBag.LastRecord = lastRecord; return(PartialView(model)); }