public JsonResult Data(LicenseFilterGridModel filter) { var dbModel = _db.UserProfiles .ToList() .Select(x => new { Id = x.UserId, Name = x.UserName, Role = x.webpages_Roles.FirstOrDefault()?.RoleName ?? "NormalUser", EditUrl = string.Format("../Account/Edit/{0}", x.UserId) }).ToList(); //if (filter.UserId.HasValue) //{ // dbModel = dbModel.Where(x => x.User.Id == filter.UserId.Value) // .ToList(); //} //var data = dbModel // .Skip((filter.PageIndex - 1) * filter.PageSize) // .Take(filter.PageSize) // .Select(x => new // { // Id = string.Format("{0}...", x.Id.ToString().Substring(0, 20)), // ValidTo = x.ValidTo.ToShortDateString(), // Demo = x.IsDemo, // UserName = x.User.Name, // Created = x.Created.ToShortDateString(), // Activated = x.IsActivated, // Enabled = x.Enabled, // Type = (int)x.Type, // EditUrl = RolesManager.CanCreateLicense(User.Identity) // ? string.Format("../License/Edit/{0}", x.Id) // : string.Empty // }).ToArray(); var dataResult = new { data = dbModel, itemsCount = dbModel.Count }; return(Json(dataResult, JsonRequestBehavior.AllowGet)); }
public JsonResult Data(LicenseFilterGridModel filter) { var dbModel = _licenseService.GetAll(); if (filter.UserId.HasValue) { dbModel = dbModel.Where(x => x.User.Id == filter.UserId.Value) .ToList(); } dbModel = dbModel .Where(x => (filter.Type == 0 || (int)x.Type == filter.Type) && (!filter.Demo.HasValue || x.IsDemo == filter.Demo.Value) && (!filter.Activated.HasValue || x.IsActivated == filter.Activated.Value) && (!filter.Enabled.HasValue || x.Enabled == filter.Enabled.Value) && (string.IsNullOrEmpty(filter.UserName) || x.User.Name.StartsWith(filter.UserName, StringComparison.CurrentCultureIgnoreCase))) .ToList(); if (!string.IsNullOrEmpty(filter.SortField)) { #region Sort bool asc = filter.SortOrder.ToUpper() == "ASC"; switch (filter.SortField.ToUpper()) { case "ID": dbModel = asc ? dbModel.OrderBy(x => x.Id).ToList() : dbModel.OrderByDescending(x => x.Id).ToList(); break; case "VALIDTO": dbModel = asc ? dbModel.OrderBy(x => x.ValidTo).ToList() : dbModel.OrderByDescending(x => x.ValidTo).ToList(); break; case "DEMO": dbModel = asc ? dbModel.OrderBy(x => x.IsDemo).ToList() : dbModel.OrderByDescending(x => x.IsDemo).ToList(); break; case "USERNAME": dbModel = asc ? dbModel.OrderBy(x => x.User.Name).ToList() : dbModel.OrderByDescending(x => x.User.Name).ToList(); break; case "CREATED": dbModel = asc ? dbModel.OrderBy(x => x.Created).ToList() : dbModel.OrderByDescending(x => x.Created).ToList(); break; case "ACTIVATED": dbModel = asc ? dbModel.OrderBy(x => x.IsActivated).ToList() : dbModel.OrderByDescending(x => x.IsActivated).ToList(); break; case "ENABLED": dbModel = asc ? dbModel.OrderBy(x => x.Enabled).ToList() : dbModel.OrderByDescending(x => x.Enabled).ToList(); break; case "TYPE": dbModel = asc ? dbModel.OrderBy(x => x.Type).ToList() : dbModel.OrderByDescending(x => x.Type).ToList(); break; } #endregion } var data = dbModel .Skip((filter.PageIndex - 1) * filter.PageSize) .Take(filter.PageSize) .Select(x => new { Id = string.Format("{0}...", x.Id.ToString().Substring(0, 20)), ValidTo = x.ValidTo.ToShortDateString(), Demo = x.IsDemo, UserName = x.User.Name, Created = x.Created.ToShortDateString(), Activated = x.IsActivated, Enabled = x.Enabled, Type = (int)x.Type, EditUrl = RolesManager.CanCreateLicense(User.Identity) ? string.Format("/License/Edit/{0}", x.Id) : string.Empty, DetailUrl = string.Format("/License/Details/{0}", x.Id) }).ToArray(); var dataResult = new { data = data, itemsCount = dbModel.Count }; return(Json(dataResult, JsonRequestBehavior.AllowGet)); }