Beispiel #1
0
        public string GetGridData(GridSettings grid)
        {
            try
            {
                using (var ctx = new CRUDSampleEntities())
                {
                    var query = ctx.tblCatalogTypes.AsQueryable();

                    int count;
                    var data = query.GridCommonSettings(grid, out count);

                    var result = new
                    {
                        total = (int)Math.Ceiling((double)count / grid.PageSize),
                        page = grid.PageIndex,
                        records = count,
                        rows = (from c in data
                                select new
                                {
                                    TypeId = c.TypeId,
                                    TypeName = c.TypeName
                                }).ToArray()
                    };
                    return JsonConvert.SerializeObject(result, new IsoDateTimeConverter());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
 public string GetGridData(GridSettings grid)
 {
     try
     {
         return new CatalogBL().GetGridData(grid);
     }
     catch (Exception ex)
     {
         return ex.Message;
     }
 }
Beispiel #3
0
        public static T[] GridCommonSettings <T>(this IQueryable <T> query, GridSettings grid, out int count)
        {
            if (grid.IsSearch)
            {
                //And
                if (grid.Where.groupOp == "AND")
                {
                    foreach (var rule in grid.Where.rules)
                    {
                        query = query.Where(
                            rule.field, rule.data,
                            (WhereOperation)StringEnum.Parse(typeof(WhereOperation), rule.op));
                    }
                }
                else
                {
                    //Or
                    var temp = query;
                    foreach (var rule in grid.Where.rules)
                    {
                        var t = query.Where(
                            rule.field, rule.data,
                            (WhereOperation)StringEnum.Parse(typeof(WhereOperation), rule.op));
                        temp = temp.Concat(t);
                    }
                    //remove repeating records
                    query = temp.Distinct();
                }
            }

            //default sorting should be done in coding
            if (grid.SortColumn != null && grid.SortColumn != "")
            {
                query = query.OrderBy(grid.SortColumn,
                                      grid.SortOrder);
            }
            //count the total number of count
            count = query.Count();

            // return data with paging
            return(query.Skip((grid.PageIndex - 1) * grid.PageSize).Take(grid.PageSize).ToArray());
        }
Beispiel #4
0
        public string GetGridData(GridSettings grid)
        {
            try
            {
                using (var ctx = new CRUDSampleEntities())
                {
                    var query = ctx.tblStudents.AsQueryable();

                    int count;
                    var data = query.GridCommonSettings(grid, out count);

                    var result = new
                    {
                        total = (int)Math.Ceiling((double)count / grid.PageSize),
                        page = grid.PageIndex,
                        records = count,
                        rows = (from c in data
                                select new
                                {
                                    StudentId = c.StudentId,
                                    FirstName = c.FirstName,
                                    MiddleName = c.MiddleName,
                                    LastName = c.LastName,
                                    ContactId = c.ContactId,
                                    CreateDate = c.CreateDate,
                                    ModifiedDate = c.ModifiedDate,
                                    ContactDetail = c.tblContactDetail.ContactDetail
                                }).ToArray()
                    };
                    return JsonConvert.SerializeObject(result, new IsoDateTimeConverter());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }