public ActionResult GetData2(GridOptions options) { int skipValue = ((options.Page - 1) * options.Rows); using (Repository.BaseballDataContext ctx = new Repository.BaseballDataContext(_connectionString)) { IEnumerable<Repository.BatterDetail> results; if (options.IsSearch) { if (options.Filters.FilterRules[0].Operation== GridSearchOperation.EQ) { results = ctx.BatterDetails .Where(b => b.nameLast == options.Filters.FilterRules[0].FieldData); } else if (options.Filters.FilterRules[0].Operation== GridSearchOperation.NE) { results = ctx.BatterDetails .Where(b => b.nameLast != options.Filters.FilterRules[0].FieldData); } else { results = ctx.BatterDetails .Where(b => b.yearID > 2005); } } else { results = ctx.BatterDetails .Where(b => b.yearID > 2005); } string dataString = CreateJSONStringForGridData(options, skipValue, results); return Content(dataString, "application/json", System.Text.Encoding.UTF8); } }
public override void OnActionExecuting(ActionExecutingContext filterContext) { GridOptions requestOptions = new GridOptions(); var requestQuery = filterContext.HttpContext.Request.QueryString; if (requestQuery.HasKeys()) { GridFilters filterOps = null; string filterString = requestQuery["filters"]; if (!String.IsNullOrWhiteSpace(filterString)) { filterOps = Newtonsoft.Json.JsonConvert.DeserializeObject<GridFilters>(filterString); } requestOptions.Filters = filterOps; requestOptions.IsSearch = Boolean.Parse(requestQuery["_search"]); requestOptions.ND = requestQuery["nd"]; requestOptions.Page = Int32.Parse(requestQuery["page"]); requestOptions.Rows = Int32.Parse(requestQuery["rows"]); requestOptions.SortIndex = requestQuery["sidx"]; requestOptions.SortOrder = requestQuery["sord"]; } if (filterContext.ActionParameters.ContainsKey("options")) { filterContext.ActionParameters["options"] = requestOptions; } else { filterContext.ActionParameters.Add("options", requestOptions); } base.OnActionExecuting(filterContext); }
public ActionResult GetData(GridOptions options) { int skipValue = ((options.Page - 1) * options.Rows); using (Repository.BaseballDataContext ctx = new Repository.BaseballDataContext(_connectionString)) { var results = ctx.BatterDetails .Where(b => b.yearID > 2005); string dataString = CreateJSONStringForGridData(options, skipValue, results); return Content(dataString, "application/json", System.Text.Encoding.UTF8); } }
public ActionResult GetData3(GridOptions options) { int skipValue = ((options.Page - 1) * options.Rows); using (Repository.BaseballDataContext ctx = new Repository.BaseballDataContext(_connectionString)) { IEnumerable<Repository.BatterDetail> results; Expression<Func<BatterDetail, bool>> predicate; if (options.IsSearch) { predicate = SearchHelper.CreateSearchPredicate(options); } else { predicate = b => b.yearID > 2005; } results = ctx.BatterDetails .Where(predicate); string dataString = CreateJSONStringForGridData(options, skipValue, results); return Content(dataString, "application/json", System.Text.Encoding.UTF8); } }
private static string CreateJSONStringForGridData(GridOptions options, int skipValue, IEnumerable<Repository.BatterDetail> results) { List<GridRow> rows = results.Skip(skipValue).Take(options.Rows).Select(r => new GridRow { ID = r.playerID, RowData = new string[] { r.nameFirst, r.nameLast, r.G.ToString(), r.H.ToString(), r._2B.ToString(), r._3B.ToString(), r.HR.ToString(), r.RBI.ToString(), r.salary.ToString(), r.TeamName, r.yearID.ToString() } }).ToList(); int resultCount = results.Count(); var data = new GridData() { CurrentPage = options.Page, TotalRecords = resultCount, TotalPages = (resultCount / options.Rows) + 1, GridRows = rows }; string dataString = JsonConvert.SerializeObject(data); return dataString; }