Exemple #1
0
        private static IQueryable <T> ApplySort <T>(IQueryable <T> query, GijgoGridOptions options) where T : class
        {
            if (!string.IsNullOrEmpty(options.sortBy) && !string.IsNullOrEmpty(options.direction))
            {
                return(query.OrderBy(options.direction.Trim().ToLower() == "asc" ? options.sortBy : $"{options.sortBy} desc"));
            }

            return(query.OrderBy("Id desc"));
        }
Exemple #2
0
        private static IQueryable <T> ApplySearch <T>(IQueryable <T> query, GijgoGridOptions options)
            where T : class
        {
            if (!string.IsNullOrWhiteSpace(options.searchValue))
            {
                return(query.Where($"{options.searchField}.Contains(@0)", options.searchValue));
            }

            return(query);
        }
Exemple #3
0
        public virtual JsonResult GetForGrid(GijgoGridOptions options)
        {
            var query = Context.Set <TModel>().AsQueryable();

            query = GijgoGridHelper.ApplyOptionsToQuery(query, options, out int total);

            var records = VMM.MapForGrid(query.ToList());

            return(Json(new { records, total }, JsonRequestBehavior.AllowGet));
        }
Exemple #4
0
        public static IQueryable <T> ApplyOptionsToQuery <T>(IQueryable <T> query, GijgoGridOptions options, out int total)
            where T : class
        {
            query = ApplyFilters(query, options);
            query = ApplySearch(query, options);
            query = ApplySort(query, options);
            total = query.Count();
            query = ApplyPageAndLimit(query, options);

            return(query);
        }
Exemple #5
0
        private static IQueryable <T> ApplyPageAndLimit <T>(IQueryable <T> query, GijgoGridOptions options)
            where T : class
        {
            if (options.page.HasValue && options.limit.HasValue)
            {
                var start = (options.page.Value - 1) * options.limit.Value;
                return(query.Skip(start).Take(options.limit.Value));
            }

            return(query);
        }
Exemple #6
0
        public JsonResult GetByEquipoId(GijgoGridOptions options, int parentId)
        {
            var query = Context.JugadorEquipos
                        .Where($"EquipoId == {parentId}")
                        .AsQueryable();

            //query = GijgoGridHelper.ApplyOptionsToQuery(query, options, out int total);

            var records = VMM.MapForImprimirJugadores(query.ToList());

            return(Json(new { records, total = records.Count }, JsonRequestBehavior.AllowGet));
        }
Exemple #7
0
        public JsonResult DelegadosGrid(GijgoGridOptions options, int parentId)
        {
            var query = Context.Delegados
                        .Where($"ClubId == {parentId}")
                        .AsQueryable();

            query = GijgoGridHelper.ApplyOptionsToQuery(query, options, out int total);

            var records = VMM.MapForDelegadosGrid(query.ToList());

            return(Json(new { records, total }, JsonRequestBehavior.AllowGet));
        }
Exemple #8
0
        private static IQueryable <T> ApplyFilters <T>(IQueryable <T> query, GijgoGridOptions options)
            where T : class
        {
            if (options.filters != null)
            {
                foreach (var filter in options.filters)
                {
                    query = query.Where($"{filter.field} {filter.@operator} {filter.value}").AsQueryable();
                }
            }

            return(query);
        }