Example #1
0
        protected int SetupGridParams(GridModel model)
        {
            if (string.IsNullOrWhiteSpace(model.Searchfor))
                model.Searchfor = "null";
            if (string.IsNullOrWhiteSpace(model.SortKey))
                model.SortKey = string.Empty;
            if (string.IsNullOrWhiteSpace(model.SortOrder))
                model.SortOrder = "ASC";

            model.SortKey = model.SortKey.ToLower();

            if (model.CurrentPage == null)
                model.CurrentPage = 1;
            if (model.RecordsPerPage == null)
                model.RecordsPerPage = 100;

            int begin = (model.CurrentPage.Value - 1) * model.RecordsPerPage.Value;
            return begin;
        }
Example #2
0
        public GridResultModel<UserGridModel> UserGrid(GridModel model)
        {
            int begin = SetupGridParams(model);

            var filteredQuery = SecurityProvider.GetUserList().Select(a => new UserGridModel()
            {
                Id = a.Id,
                UserName = a.UserName,
                FirstName = a.FirstName,
                Surname = a.Surname,
                Email = a.Email
            });

            //SecurityProvider.GetUserList()

            if (model.Searchfor != "null")
            {
                filteredQuery = filteredQuery.Where(r => r.UserName.Contains(model.Searchfor)
                                                    || r.FirstName.Contains(model.Searchfor)
                                                    || r.Surname.Contains(model.Searchfor)
                                                    || r.Email.Contains(model.Searchfor)
                                                    );
            }
            //Get Reord count
            var totalNumberOfRecords = filteredQuery.Count();

            if (String.IsNullOrWhiteSpace(model.SortKey))
                filteredQuery = filteredQuery.OrderBy(a => a.UserName); //default sort order

            if (!String.IsNullOrWhiteSpace(model.SortKey))
                model.SortKey = model.SortKey.ToLower();

            //Setup sort order
            switch (model.SortOrder)
            {
                case "ASC":
                    switch (model.SortKey)
                    {
                        case "username":
                            filteredQuery = filteredQuery.OrderBy(r => r.UserName);
                            break;
                        case "type":
                            filteredQuery = filteredQuery.OrderBy(r => r.Type);
                            break;
                        case "email":
                            filteredQuery = filteredQuery.OrderBy(r => r.Email);
                            break;
                        case "firstname":
                            filteredQuery = filteredQuery.OrderBy(r => r.FirstName);
                            break;
                        case "surname":
                            filteredQuery = filteredQuery.OrderBy(r => r.Surname);
                            break;
                    }
                    break;
                case "DESC":
                    switch (model.SortKey)
                    {
                        case "username":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.UserName);
                            break;
                        case "type":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.Type);
                            break;
                        case "email":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.Email);
                            break;
                        case "firstname":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.FirstName);
                            break;
                        case "surname":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.Surname);
                            break;
                    }
                    break;
            }

            //setup paging
            filteredQuery = filteredQuery.Skip(begin).Take(model.RecordsPerPage.Value);

            return new GridResultModel<UserGridModel>(filteredQuery.ToList(), totalNumberOfRecords);
        }
Example #3
0
        public GridResultModel<RoleGridModel> RoleGrid(GridModel model)
        {
            int begin = SetupGridParams(model);

            var filteredQuery = SecurityProvider.GetRoles()
                .Select(a => new RoleGridModel()
                {

                    Id = a.Id,
                    RoleName = a.RoleName,
                    Description = a.Description,
                    StatusTypes = a.Status

                });

            if (model.Searchfor != "null")
            {
                filteredQuery =
                    filteredQuery.Where(
                        r => r.RoleName.Contains(model.Searchfor) || r.Description.Contains(model.Searchfor));

            }

            //Get Reord count
            var totalNumberOfRecords = filteredQuery.Count();

            if (String.IsNullOrWhiteSpace(model.SortKey))
                filteredQuery = filteredQuery.OrderBy(a => a.RoleName); //default sort order

            if (!String.IsNullOrWhiteSpace(model.SortKey))
                model.SortKey = model.SortKey.ToLower();

            switch (model.SortOrder)
            {
                case "ASC":
                    switch (model.SortKey)
                    {
                        case "rolename":
                            filteredQuery = filteredQuery.OrderBy(r => r.RoleName);
                            break;
                        case "description":
                            filteredQuery = filteredQuery.OrderBy(r => r.Description);
                            break;
                        case "status":
                            filteredQuery = filteredQuery.OrderBy(r => r.StatusTypes);
                            break;

                    }
                    break;
                case "DESC":
                    switch (model.SortKey)
                    {
                        case "rolename":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.RoleName);
                            break;
                        case "description":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.Description);
                            break;
                        case "status":
                            filteredQuery = filteredQuery.OrderByDescending(r => r.StatusTypes);
                            break;
                    }
                    break;
            }

            filteredQuery = filteredQuery.Skip(begin).Take(model.RecordsPerPage.Value);

            return new GridResultModel<RoleGridModel>(filteredQuery.ToList(), totalNumberOfRecords);
        }