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; } }
public string GetGridData(GridSettings grid) { try { return new CatalogBL().GetGridData(grid); } catch (Exception ex) { return ex.Message; } }
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()); }
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; } }