コード例 #1
0
ファイル: HomeController.cs プロジェクト: IsraelBV/SUN
        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));
        }
コード例 #2
0
        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));
        }