Beispiel #1
0
        public JsonResult ProcesarBusqueda(string sidx, string sord, int page, int rows, int?id,
                                           TipoActividadEspecialEnum?filtroTipoActividad, DateTime?filtroFechaDesde, DateTime?filtroFechaHasta, string filtroNombreDocente,
                                           string filtroApellidoDocente, bool filtroDadosDeBaja)
        {
            Func <ActividadEspecialModel, IComparable> funcOrden =
                sidx == "Fecha" ? x => x.Fecha :
                sidx == "HoraDesde" ? x => x.HoraDesde :
                sidx == "HoraHasta" ? x => x.HoraHasta :
                (Func <ActividadEspecialModel, IComparable>)(x => x.Id);

            var registros = Rule.ActividadGetByFiltros(filtroFechaDesde, filtroFechaHasta, filtroApellidoDocente, filtroNombreDocente,
                                                       filtroTipoActividad, filtroDadosDeBaja, _idEscuela);

            //var registros = Harcode(filtroDadosDeBaja);

            if (sord == "asc")
            {
                registros = registros.OrderBy(funcOrden).ToList();
            }
            else
            {
                registros = registros.OrderByDescending(funcOrden).ToList();
            }

            int totalRegistros = registros.Count();
            int totalPages     = (int)Math.Ceiling((decimal)totalRegistros / (decimal)rows);

            registros = registros.Skip((page - 1) * rows).Take(rows).ToList();

            var jsonData = new
            {
                total   = totalPages,
                page    = page,
                records = totalRegistros,
                rows    = from a in registros
                          select new
                {
                    cell = new string[] {
                        a.Id.ToString(),
                a.Fecha.Value.ToString("dd/MM/yyyy"),
                        a.HoraDesde.ToString(),
                        a.HoraHasta.ToString(),
                        a.Descripcion,
                        a.Tipo.ToString().Replace('_', ' '),
                        a.FechaBaja.HasValue? a.FechaBaja.Value.ToString("dd/MM/yyyy"): "-",
                    }
                }
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));
        }