示例#1
0
        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));
        }
示例#2
0
        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));
        }