public virtual PageDataOutputDto <RoleDto> GetPage(RolePageInputDto vm)
        {
            PageDataOutputDto <RoleDto> pageData = null;

            using (var db = this.GetContext())
            {
                var query = from q in db.Role
                            where q.IsDelete == false
                            select new RoleDto
                {
                    Id         = q.Id,
                    IsSystem   = q.IsSystem,
                    Name       = q.Name,
                    CreateTime = q.CreateTime,
                    UpdateTime = q.UpdateTime
                };

                if (!string.IsNullOrEmpty(vm.Id))
                {
                    query = query.Where(q => q.Id == vm.Id);
                }

                if (!string.IsNullOrEmpty(vm.Keyword))
                {
                    var value = vm.Keyword.DbLike(DbLikeType.All);
                    query = query.Where(q => EF.Functions.Like(q.Name, value));
                }

                pageData = query.ToPage(vm);
            }

            return(pageData);
        }
Exemplo n.º 2
0
        public static PageDataOutputDto <T> ToPage <T>(this IQueryable <T> query, PageDataInputDto param, string defaultOrderby = "Id")
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.PageIndex < 1)
            {
                throw new ArgumentException(nameof(param.PageIndex));
            }
            if (param.PageSize < 1)
            {
                throw new ArgumentException(nameof(param.PageSize));
            }

            var orderby = GetOrderby <T>(param.Orderby, defaultOrderby);
            var vm      = new PageDataOutputDto <T>();

            vm.TotalCount = query.Count();
            query         = query.OrderBy(orderby);
            if (param.PageIndex > 1)
            {
                query = query.Skip((param.PageIndex - 1) * param.PageSize);
            }
            vm.Data = query.Take(param.PageSize).ToList();

            return(vm);
        }
        public virtual PageDataOutputDto <UserDto> GetPageData(UserPageInputDto vm)
        {
            PageDataOutputDto <UserDto> pageData = null;

            using (var db = this.GetContext())
            {
                var query = from q in db.User
                            where q.IsDelete == false
                            select new UserDto
                {
                    Id      = q.Id,
                    Account = q.Account,
                    Name    = q.Name,
                    //Password = q.Password,
                    RoleId     = q.RoleId,
                    Mail       = q.Mail,
                    Mobile     = q.Mobile,
                    Status     = q.Status,
                    IsSystem   = q.IsSystem,
                    UpdateTime = q.UpdateTime,
                    CreateTime = q.CreateTime
                };

                if (!string.IsNullOrEmpty(vm.RoleId))
                {
                    query = query.Where(q => q.RoleId == vm.RoleId);
                }

                if (vm.Status.HasValue)
                {
                    var status = vm.Status.Value;
                    query = query.Where(q => q.Status == status);
                }

                if (!string.IsNullOrEmpty(vm.Keyword))
                {
                    var value = vm.Keyword.DbLike(DbLikeType.All);
                    query = query.Where(q => EF.Functions.Like(q.Account, value) || EF.Functions.Like(q.Name, value) || EF.Functions.Like(q.Mobile, value) || EF.Functions.Like(q.Mail, value));
                }

                pageData = query.ToPage(vm);
            }

            return(pageData);
        }
Exemplo n.º 4
0
        public ActionResult GetPageList(LogPageInputDto vm)
        {
            if (vm != null && this.ModelState.IsValid)
            {
                PageDataOutputDto <LogFileOutputDto> pageData = new PageDataOutputDto <LogFileOutputDto>();
                var path = LogUtils.GetLogDir(vm.Name);
                if (!string.IsNullOrEmpty(path) && System.IO.Directory.Exists(path))
                {
                    var dir   = new System.IO.DirectoryInfo(path);
                    var files = dir.EnumerateFiles();
                    if (vm.BeginTime.HasValue)
                    {
                        files = files.Where(q => q.CreationTime >= vm.BeginTime.Value);
                    }
                    if (vm.EndTime.HasValue)
                    {
                        files = files.Where(q => q.CreationTime <= vm.EndTime.Value);
                    }
                    pageData.TotalCount = files.Count();
                    files = files.OrderByDescending(q => q.CreationTime);
                    if (vm.PageIndex > 1)
                    {
                        files = files.Skip(vm.PageSize * (vm.PageIndex - 1));
                    }
                    pageData.Data = files.Take(vm.PageSize).Select(q => new LogFileOutputDto
                    {
                        Name       = q.Name,
                        Size       = GetSize(q.Length),
                        CreateTime = q.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
                        UpdateTime = q.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss")
                    }).ToList();
                }

                return(Success(pageData));
            }

            return(Error("请求参数不正确!"));
        }