Exemple #1
0
        public ActionResult GetPageList(OptionLogPageParamDto vm)
        {
            if (vm != null && vm.Index > 0 && vm.Size > 0)
            {
                var optionLogService = this.GetService <IOptionLogService>();
                var result           = optionLogService.GetPageList(vm);

                return(Success(result));
            }

            return(Error());
        }
        public virtual PageListDto <OptionLogDto> GetPageList(OptionLogPageParamDto vm)
        {
            var optionLogRepository = this.GetRepository <IOptionLogRepository>();

            return(optionLogRepository.GetPageList(vm));
        }
        public virtual PageListDto <OptionLogDto> GetPageList(OptionLogPageParamDto vm)
        {
            PageListDto <OptionLogDto> pageList = new PageListDto <OptionLogDto>();

            using (var db = this.CreateDbContext())
            {
                var query = from q in db.OptionLog
                            select new OptionLogDto
                {
                    Id          = q.Id,
                    Type        = q.Type,
                    UserId      = q.UserId,
                    UserAccount = q.UserAccount,
                    UserName    = q.UserName,
                    Address     = q.Address,
                    CreateTime  = q.CreateTime,
                    Msg         = q.Msg
                };

                if (vm.Type != (int)MsgCmd.None)
                {
                    query = query.Where(q => q.Type == vm.Type);
                }
                if (vm.BeginTime.HasValue)
                {
                    query = query.Where(q => q.CreateTime >= vm.BeginTime.Value);
                }
                if (vm.EndTime.HasValue)
                {
                    query = query.Where(q => q.CreateTime <= vm.EndTime.Value);
                }
                if (!string.IsNullOrEmpty(vm.Keyword))
                {
                    query = query.Where(q => q.UserAccount.Contains(vm.Keyword) || q.UserName.Contains(vm.Keyword) ||
                                        q.Address.Contains(vm.Keyword) || q.Msg.Contains(vm.Keyword));
                }

                pageList.TotalCount = query.Count();

                switch (vm.Orderby)
                {
                case "Type":
                    query = vm.IsDesc ? query.OrderByDescending(q => q.Type)
                            : query.OrderBy(q => q.Type);
                    break;

                case "UserAccount":
                    query = vm.IsDesc ? query.OrderByDescending(q => q.UserAccount)
                            : query.OrderBy(q => q.UserAccount);
                    break;

                case "UserName":
                    query = vm.IsDesc ? query.OrderByDescending(q => q.UserName)
                            : query.OrderBy(q => q.UserName);
                    break;

                case "CreateTime":
                    query = vm.IsDesc ? query.OrderByDescending(q => q.CreateTime)
                            : query.OrderBy(q => q.CreateTime);
                    break;

                case "Address":
                    query = vm.IsDesc ? query.OrderByDescending(q => q.Address)
                            : query.OrderBy(q => q.Address);
                    break;

                default:
                    query = query.OrderByDescending(q => q.Id);
                    break;
                }

                this.GetPage(pageList, query, vm.Index, vm.Size);
            }

            return(pageList);
        }