コード例 #1
0
        public virtual GridResult <TModel> GridList(GridRequest request, string defaultSort)
        {
            try
            {
                IQueryable <TEntity> query = GetQuery();

                GridSortFilter.SortFilter sortFilter = GridSortFilter.FromRequest <TModel>(request, defaultSort);

                if (!string.IsNullOrEmpty(sortFilter.Sort))
                {
                    query = query.OrderBy(sortFilter.Sort);
                }

                string filter = sortFilter.Filter;

                List <TModel> pageViewModel = GetListModel(new ListParams(request, defaultSort, filter), ref query);

                GridResult <TModel> result = new GridResult <TModel>
                {
                    Status     = "success",
                    TotalCount = query.Count(),
                    Records    = pageViewModel
                };

                return(result);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GridResult <TModel> {
                    Status = "error", Message = ex.Message
                });
            }
        }
コード例 #2
0
        public GridResult <UserViewModel> GridQueryRoleUsers(int roleId, GridRequest request)
        {
            try
            {
                DateTime minLockoutDate = DateTime.Parse("2100-01-01");

                IQueryable <UserViewModel> query = from u in Context.Set <AspNetUser>()
                                                   from rl in u.AspNetRoles.Where(x => x.Id == roleId && x.Code > 1)
                                                   join p in Context.Set <UserProfile>() on u.Id equals p.UserId into joinedP
                                                   from p in joinedP.DefaultIfEmpty()
                                                   select new UserViewModel
                {
                    UserId    = u.Id,
                    UserName  = u.UserName,
                    Email     = u.Email,
                    FirstName = p.FirstName,
                    LastName  = p.LastName,
                    Locked    = ((DateTime?)u.LockoutEndDateUtc ?? DateTime.Now) >= minLockoutDate.Date
                };

                GridSortFilter.SortFilter sortFilter = GridSortFilter.FromRequest <UserViewModel>(request, "UserName");

                if (!string.IsNullOrEmpty(sortFilter.Sort))
                {
                    query = query.OrderBy(sortFilter.Sort);
                }

                string filter = sortFilter.Filter;

                // custom filters

                if (!string.IsNullOrEmpty(filter))
                {
                    query = query.Where(filter);
                }

                var page = query
                           .Skip(request.Skip)
                           .Take(request.Take);

                GridResult <UserViewModel> result = new GridResult <UserViewModel>
                {
                    Status     = "success",
                    TotalCount = query.Count(),
                    Records    = page.ToList()
                };

                return(result);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GridResult <UserViewModel> {
                    Status = "error", Message = ex.Message
                });
            }
        }
コード例 #3
0
        public override GridResult <RoleViewModel> GridList(GridRequest request, string defaultSort)
        {
            try
            {
                //if (request.ExtraFilters["userID"] == null)
                //    return new GridResult<object> { Status = "error", Message = "Greška: parameter is null!" };

                //string userID = request.ExtraFilters["userID"].ToString();

                IQueryable <RoleViewModel> query = from r in Context.AspNetRoles
                                                   where r.Code > 1
                                                   select new RoleViewModel
                {
                    Id          = r.Id,
                    Name        = r.Name,
                    Translation = r.Translation
                };

                GridSortFilter.SortFilter sortFilter = GridSortFilter.FromRequest <RoleViewModel>(request, "Name");

                if (!string.IsNullOrEmpty(sortFilter.Sort))
                {
                    query = query.OrderBy(sortFilter.Sort);
                }

                string filter = sortFilter.Filter;

                // custom filters

                if (!string.IsNullOrEmpty(filter))
                {
                    query = query.Where(filter);
                }

                var page = query
                           .Skip(request.Skip)
                           .Take(request.Take);

                GridResult <RoleViewModel> result = new GridResult <RoleViewModel>
                {
                    Status     = "success",
                    TotalCount = query.Count(),
                    Records    = page.ToList()
                };

                return(result);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GridResult <RoleViewModel> {
                    Status = "error", Message = ex.Message
                });
            }
        }
コード例 #4
0
        public GridResult <UserRolesViewModel> GridListAllRoles(GridRequest request)
        {
            try
            {
                if (request.ExtraFilters["UserId"] == null)
                {
                    return new GridResult <UserRolesViewModel>
                           {
                               Status  = "error",
                               Message = "Greška: parameter is null!"
                           }
                }
                ;

                int userId = Convert.ToInt32(request.ExtraFilters["UserId"]);

                IQueryable <UserRolesViewModel> query = from r in Context.Set <AspNetRole>()
                                                        from u in r.AspNetUsers.Where(x => x.Id == userId).DefaultIfEmpty()
                                                        where r.Code > 1
                                                        select new UserRolesViewModel
                {
                    RoleId   = r.Id,
                    RoleName = r.Name,
                    Selected = u != null
                };

                GridSortFilter.SortFilter sortFilter = GridSortFilter.FromRequest <UserRolesViewModel>(request, "RoleName");

                if (!string.IsNullOrEmpty(sortFilter.Sort))
                {
                    query = query.OrderBy(sortFilter.Sort);
                }

                var page = query
                           .Skip(request.Skip)
                           .Take(request.Take);

                GridResult <UserRolesViewModel> result = new GridResult <UserRolesViewModel>
                {
                    Status     = "success",
                    TotalCount = query.Count(),
                    Records    = page.ToList()
                };

                return(result);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GridResult <UserRolesViewModel> {
                    Status = "error", Message = ex.Message
                });
            }
        }
コード例 #5
0
        public override GridResult <UserViewModel> GridList(GridRequest request, string defaultSort)
        {
            try
            {
                //if (request.ExtraFilters["userID"] == null)
                //    return new GridResult<object> { Status = "error", Message = "Greška: parameter is null!" };

                //string userID = request.ExtraFilters["userID"].ToString();

                IQueryable <vUser> query = from u in Context.vUsers select u;

                GridSortFilter.SortFilter sortFilter = GridSortFilter.FromRequest <UserViewModel>(request, "UserName");

                if (!string.IsNullOrEmpty(sortFilter.Sort))
                {
                    query = query.OrderBy(sortFilter.Sort);
                }

                string filter = sortFilter.Filter;

                if (!string.IsNullOrEmpty(filter))
                {
                    query = query.Where(filter);
                }

                List <vUser> page = query
                                    .Skip(request.Skip)
                                    .Take(request.Take)
                                    .ToList();

                GridResult <UserViewModel> result = new GridResult <UserViewModel>
                {
                    Status     = "success",
                    TotalCount = query.Count(),
                    Records    = page.Select(Mapper.Map <vUser, UserViewModel>).ToList()
                };

                return(result);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GridResult <UserViewModel> {
                    Status = "error", Message = ex.Message
                });
            }
        }