Пример #1
0
        /// <summary>
        /// 分页方法
        /// </summary>
        /// <typeparam name="TEntity">实体</typeparam>
        /// <typeparam name="TEntityDto">返回的Dto</typeparam>
        /// <param name="query"></param>
        /// <param name="input"></param>
        /// <returns></returns>
        public static async Task <PagedResultDto <TEntityDto> > GetPageSortListAsync <TEntity, TEntityDto>(this IQueryable <TEntity> query, PagedSortedRequestInput input, Expression <Func <TEntity, TEntityDto> > selector = null)
        {
            //总行数
            var totalCount = await query.CountAsync();

            //排序
            if (!string.IsNullOrWhiteSpace(input.Sorting))
            {
                query = query.OrderBy(input.Sorting);
            }
            //分页
            int startIndex = (input.StartPage - 1) * input.PageCount;

            query = query.Skip(startIndex).Take(input.PageCount);

            List <TEntityDto> rlst = null;

            if (selector != null)
            {
                var query2 = query.Select(selector);
                rlst = await query2.ToListAsync();
            }
            else
            {
                //获取对象
                var entities = await query.ToListAsync();

                rlst = Mapper.Map <List <TEntityDto> >(entities);
            }
            //组装分页返回对象
            var PagedResult = new PagedResultDto <TEntityDto>(totalCount, rlst);

            return(PagedResult);
        }
Пример #2
0
        public Task <PagedResultDto <DireccionFamiliarEstudianteDto> > GetAllFiltered(PagedAndSortedResultRequestDto input, string filter)
        {
            var provinciaList = new List <DireccionFamiliarEstudiante>();
            var query         = Repository.GetAll();

            query = ApplySorting(query, input);


            if (filter != null && filter != string.Empty)
            {
                provinciaList = query
                                .Where(x => x.Descripcion.StartsWith(filter))
                                .Skip(input.SkipCount)
                                .Take(input.MaxResultCount).ToList();

                var result = new PagedResultDto <DireccionFamiliarEstudianteDto>(query.Count(), ObjectMapper.Map <List <DireccionFamiliarEstudianteDto> >(provinciaList));
                return(Task.FromResult(result));
            }
            else
            {
                provinciaList = query
                                .Skip(input.SkipCount)
                                .Take(input.MaxResultCount).ToList()
                                .ToList();

                var result = new PagedResultDto <DireccionFamiliarEstudianteDto>(query.Count(), ObjectMapper.Map <List <DireccionFamiliarEstudianteDto> >(provinciaList));
                return(Task.FromResult(result));
            }
        }
        public Task <PagedResultDto <PaisDto> > GetAllFiltered(PagedAndSortedResultRequestDto input, string filter)
        {
            var paisList = new List <Pais>();
            var query    = Repository.GetAll();

            query = ApplySorting(query, input);


            if (filter != null && filter != string.Empty)
            {
                paisList = query
                           .Where(x => x.Identificador.StartsWith(filter) || x.Nombre.StartsWith(filter))
                           .Skip(input.SkipCount)
                           .Take(input.MaxResultCount).ToList();

                var result = new PagedResultDto <PaisDto>(query.Count(), ObjectMapper.Map <List <PaisDto> >(paisList));
                return(Task.FromResult(result));
            }
            else
            {
                paisList = query
                           .Skip(input.SkipCount)
                           .Take(input.MaxResultCount).ToList()
                           .ToList();

                var result = new PagedResultDto <PaisDto>(query.Count(), ObjectMapper.Map <List <PaisDto> >(paisList));
                return(Task.FromResult(result));
            }
        }
Пример #4
0
        public async Task <PagedResultDto <Department> > GetPagedDepartmentsList(GetDepartmentInput input)
        {
            var query = _departmentRepository.GetAll();

            if (!string.IsNullOrEmpty(input.FilterText))
            {
                query = query.Where(s => s.Name.Contains(input.FilterText));
            }
            var count = query.Count();

            query = query.OrderBy(input.Sorting).Skip((input.CurrentPage - 1) * input.MaxResultCount).Take(input.MaxResultCount);
            List <Department> models = await query.Include(i => i.Administrator).AsNoTracking().ToListAsync();

            var dtos = new PagedResultDto <Department>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = models,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
Пример #5
0
 private async Task SetAnswerLabel(PagedResultDto <AnswerLogDto> result)
 {
     foreach (var item in result.Items)
     {
         item.Title = await questionAppService.GetItemLabel(item.DataSetItemId);
     }
 }
Пример #6
0
        public async Task TestGetComments()
        {
            TestingContext testingContext = new TestingContext();

            SetUpTestingContext(testingContext);

            ApplicationDbContext appDbContext    = testingContext.GetSimple <ApplicationDbContext>();
            ICommentsService     commentsService = testingContext.GetService <CommentsService>();

            Question question = appDbContext.Questions.First();

            for (int i = 0; i < 20; i++)
            {
                CommentDto commentDto = new CommentDto()
                {
                    IdQuestion  = question.Id,
                    CommentText = "Hello Comment",
                };
                await commentsService.AddCommentAsync(commentDto);
            }
            GetCommentsDto getCommentsDto = new GetCommentsDto
            {
                IdQuestion = question.Id,
                Page       = 0,
            };

            //Act
            PagedResultDto <CommentDto> comments = await commentsService.GetCommentssAsync(getCommentsDto);

            //Assert
            Assert.Equal(5, comments.Data.Count);
            Assert.Equal(4, comments.Numpages);
            Assert.Equal(20, comments.Count);
        }
Пример #7
0
        public PagedResultDto <OrganizationUnitUserDto> GetOrganizationUnitJoinableUserList(GetOrganizationUnitJoinableUserListInput input)
        {
            var userQuery =
                from u in _userRepository.GetAll()
                join ouu1 in _userOrganizationUnitRepository.GetAll().Where(q => q.OrganizationUnitId == input.Id)
                on u.Id equals ouu1.UserId
                into ouu2
                from ouu in ouu2.DefaultIfEmpty()
                where ouu == null
                select u;

            if (!string.IsNullOrEmpty(input.Filter))
            {
                userQuery = userQuery.Where(u =>
                                            u.UserName.Contains(input.Filter) ||
                                            u.Name.Contains(input.Filter) ||
                                            u.PhoneNumber.Contains(input.Filter) ||
                                            u.EmailAddress.Contains(input.Filter));
            }
            var finalQuery = userQuery.OrderBy(u => u.Id).Skip(input.SkipCount).Take(input.MaxResultCount);
            var result     = new PagedResultDto <OrganizationUnitUserDto>
            {
                TotalCount = userQuery.Count(),
                Items      = finalQuery.ToList().MapTo <List <OrganizationUnitUserDto> >(),
            };

            return(result);
        }
Пример #8
0
        public async Task <IActionResult> GetQuestionsAsync(
            [FromQuery] Guid?gcId,
            [FromQuery] int?p         = 1,
            [FromQuery] string filter = "")
        {
            if (p == null || p <= 0)
            {
                p = 1;
            }
            ViewBag.p = p.Value;

            var serchInp = new GetGrammarDTO
            {
                Filter            = filter ?? "",
                MaxResultCount    = AppTheme.Limit,
                SkipCount         = (p.Value - 1) * AppTheme.Limit,
                GrammarCategoryId = gcId ?? null
            };
            var res = await _Grammarervice.GetBaseListAsync(serchInp);

            if (gcId == null || gcId == Guid.Empty)
            {
                ViewBag.GroupName = L["All"];
            }
            else
            {
                var qg = await _GrammarCategoryService.GetAsync(gcId.Value);

                if (!qg.Success || qg.Data == null)
                {
                    ViewBag.GroupName = L["Unknow"];
                }
                else
                {
                    ViewBag.GroupName = qg.Data.Name;
                }
            }
            if (res.Success)
            {
                PagedResultDto <GrammarBaseDTO> Containers = res.Data;

                string listRes = string.Format("Showing {0} to {1} of {2} entries",
                                               res.Data.TotalCount > 0 ? serchInp.SkipCount + 1 : 0, serchInp.SkipCount + res.Data.Items.Count, res.Data.TotalCount);
                if (!filter.IsNullOrEmpty())
                {
                    listRes += string.Format(" for \"{0}\"", serchInp.Filter);
                }
                ViewBag.ListState = listRes;

                ViewBag.Filter     = filter;
                ViewBag.Pagination = PaginateHelper.Generate(
                    "javascript:syncGrammar('" + gcId + "','{0}', '" + filter + "');",
                    p.Value, Containers.TotalCount, AppTheme.Limit);
                return(PartialView("~/Pages/Manager/Grammars/Partials/Grammars.cshtml", Containers));
            }
            else
            {
                return(PartialView(AppTheme.ContentNothing));
            }
        }
Пример #9
0
        public async Task <PagedResultDto <User> > GetAllByAsync(QueryUserFilter filter)
        {
            var result = new PagedResultDto <User>();

            try
            {
                var query = await _repository.GetAllByAsync();

                query = query.Where(x => x.IsDel == 0);
                if (!string.IsNullOrWhiteSpace(filter.Name))
                {
                    query = query.Where(x => x.Name == filter.Name);
                }
                if (!string.IsNullOrWhiteSpace(filter.Phone))
                {
                    query = query.Where(x => x.Phone == filter.Phone);
                }
                result.TotalCount = query.Count();
                result.Items      = query.OrderByDescending(x => x.CreateDate).Skip(filter.limit * (filter.page - 1)).Take(filter.limit).ToList();
            }
            catch (Exception ex)
            {
                _logger.LogError("获取异常" + ex.ToString());
            }
            return(result);
        }
Пример #10
0
        public ActionResult GetAllLocalizedStrings()
        {
            var items = _applicationLanguageTextAppService.GetAllLocalizedStringDtos();
            var page  = new PagedResultDto <LocalizedStringDto>(items.Count, items);

            return(Json(page));
        }
Пример #11
0
        public async Task TestGetVersions()
        {
            //Prepare
            TestingContext testingContext = new TestingContext();

            SetUpTestingContext(testingContext);
            ApplicationDbContext dbContext = testingContext.GetSimple <ApplicationDbContext>();
            Question             question  = dbContext.Questions.First();

            testingContext.AddPrincipalMock(question.User.UserId, Roles.User);
            testingContext.AddBusinessSecurityService();

            IQuestionService questionService = testingContext.GetService <QuestionService>();

            testingContext.DependencyMap[typeof(IQuestionService)] = questionService;
            IVersionService versionService = testingContext.GetService <VersionService>();


            int newId = await versionService.VersionQuestionAsync(question.Id);

            await versionService.AcceptQuestionAsync(newId);

            VersionInfoParametersDto versionInfoParametersDto = new VersionInfoParametersDto()
            {
                Page       = 0,
                IdQuestion = newId,
            };

            //Act
            PagedResultDto <VersionInfoDto> result = await versionService.GetVersionsAsync(versionInfoParametersDto);

            //Assert
            Assert.Equal(2, result.Count);
        }
Пример #12
0
        public async Task <PagedResultDto <Teacher> > GetPagedTeacherList(GetTeacherInput input)
        {
            var query = _teacherRepository.GetAll();

            if (!string.IsNullOrEmpty(input.FilterText))
            {
                query = query.Where(s => s.Name.Contains(input.FilterText));
            }
            var count = query.Count();

            query = query.OrderBy(input.Sorting).Skip((input.CurrentPage - 1) * input.MaxResultCount).Take(input.MaxResultCount);
            var models = await query.Include(a => a.OfficeLocation).Include(a => a.CourseAssignments).ThenInclude(a => a.Course).ThenInclude(a => a.StudentCourses).ThenInclude(a => a.Student)
                         .Include(i => i.CourseAssignments).ThenInclude(i => i.Course).ThenInclude(i => i.Department).AsNoTracking().ToListAsync();

            var dtos = new PagedResultDto <Teacher>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = models,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
Пример #13
0
        private async Task FillRoleNames(PagedResultDto <UserListDto> pagedResultDto)
        {
            /* This method is optimized to fill role names to given list. */

            var distinctRoleIds = (
                from userDto in pagedResultDto.Items
                from userRoleDto in userDto.Roles
                select userRoleDto.RoleId
                ).Distinct();

            var roleNames = new Dictionary <int, string>();

            foreach (var roleId in distinctRoleIds)
            {
                roleNames[roleId] = (await RoleManager.GetRoleByIdAsync(roleId)).DisplayName;
            }

            foreach (var userDto in pagedResultDto.Items)
            {
                foreach (var userRoleDto in userDto.Roles)
                {
                    userRoleDto.RoleName = roleNames[userRoleDto.RoleId];
                }
                userDto.Roles = userDto.Roles.OrderBy(r => r.RoleName).ToList();
            }
        }
        public override Task <PagedResultDto <FacultyDto> > GetListAsync(FacultyFilterDto input)
        {
            var query = Repository.AsQueryable();

            if (input.Id.HasValue)
            {
                query = query.Where(s => s.Id == input.Id);
            }

            if (!string.IsNullOrEmpty(input.Name))
            {
                query = query.Where(s => s.Name.Contains(input.Name));
            }

            var count = query.Count();

            if (!string.IsNullOrEmpty(input.Sorting))
            {
                query = ApplySorting(query, input);
            }

            if (input.MaxResultCount > 0)
            {
                query = ApplyPaging(query, input);
            }

            var items  = query.ToList();
            var result = new PagedResultDto <FacultyDto>(count, ObjectMapper.Map <List <Faculty>, List <FacultyDto> >(items));

            return(Task.FromResult(result));
        }
Пример #15
0
        public async Task <PagedResultDto <Student> > GetPaginatedResult(GetStudentInput input)
        {
            var query = _studentRepository.GetAll();

            //判断输入的搜索名称是否为空
            if (!string.IsNullOrEmpty(input.FilterText))
            {
                query = query.Where(s => s.Name.Contains(input.FilterText) ||
                                    s.Email.Contains(input.FilterText));
            }
            //统计查询数据的总条数,用于分页计算总页数
            var count = query.Count();

            //根据需求进行排序,然后进行分页逻辑的计算
            query = query.OrderBy(input.Sorting).Skip((input.CurrentPage - 1) * input.MaxResultCount).Take(input.MaxResultCount);
            //将查询结果转换为List集合,加载到内存中
            var models = await query.AsNoTracking().ToListAsync();

            var dtos = new PagedResultDto <Student>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = models,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
        public PagedResultDto <InvoiceDto> GetAll(PagedUserResultRequestDto input)
        {
            var query = (from inv in _repository.GetAll()
                         join o in _orderRepository.GetAll() on inv.OrderId equals o.Id
                         join c in _customerRepository.GetAll() on o.CustomerId equals c.Id
                         select new InvoiceDto
            {
                Id = inv.Id,
                OrderId = o.Id,
                InvoiceNumber = inv.InvoiceNumber,
                PaidAmount = inv.PaidAmount,
                InvoiceDate = inv.InvoiceDate,
                CustomerName = c.CustomerName,
            })
                        .Skip(input.SkipCount)
                        .Take(input.MaxResultCount)
                        .ToList();

            var result = new PagedResultDto <InvoiceDto>
            {
                Items      = query,
                TotalCount = query.Count
            };

            return(result);
        }
Пример #17
0
        public Task <PagedResultDto <TipoIdentificacionDto> > GetAllFiltered(PagedAndSortedResultRequestDto input, string filter)
        {
            var tipoTelefonoList = new List <TipoIdentificacion>();
            var query            = Repository.GetAll();

            query = ApplySorting(query, input);


            if (filter != null && filter != string.Empty)
            {
                tipoTelefonoList = query
                                   .Where(x => x.Descripcion.StartsWith(filter))
                                   .Skip(input.SkipCount)
                                   .Take(input.MaxResultCount).ToList();

                var result = new PagedResultDto <TipoIdentificacionDto>(query.Count(), ObjectMapper.Map <List <TipoIdentificacionDto> >(tipoTelefonoList));
                return(Task.FromResult(result));
            }
            else
            {
                tipoTelefonoList = query
                                   .Skip(input.SkipCount)
                                   .Take(input.MaxResultCount).ToList()
                                   .ToList();

                var result = new PagedResultDto <TipoIdentificacionDto>(query.Count(), ObjectMapper.Map <List <TipoIdentificacionDto> >(tipoTelefonoList));
                return(Task.FromResult(result));
            }
        }
        public async Task <PagedResultDto <ReviewDto> > Handle(GetReviewsQuery request, CancellationToken cancellationToken)
        {
            var page = request.InputPage.Page - 1;
            IQueryable <Review> reviews;

            if (request.ReviewType == ReviewType.Company)
            {
                reviews = _companyRepository.Read()
                          .Include(x => x.User).OrderByDescending(x => x.Date)
                          .Skip(page * request.InputPage.PageSize)
                          .Take(request.InputPage.PageSize);
            }
            else if (request.ReviewType == ReviewType.Shop)
            {
                reviews = _shopRepository.Read()
                          .Include(x => x.User).OrderByDescending(x => x.Date)
                          .Skip(page * request.InputPage.PageSize)
                          .Take(request.InputPage.PageSize);
            }
            else
            {
                reviews = null;
            }
            var reviewsDto       = _mapper.Map <IList <ReviewDto> >(reviews.ToList());
            var reviewTotalCount = reviews.Count();
            var response         = new PagedResultDto <ReviewDto>()
            {
                PageSize    = request.InputPage.PageSize,
                CurrentPage = request.InputPage.Page,
                TotalPages  = (int)Math.Ceiling((decimal)reviewTotalCount / (decimal)request.InputPage.PageSize),
                Results     = reviewsDto
            };

            return(response);
        }
Пример #19
0
        //获取监控数据列表,table显示用
        public ActionResult GetLogMonitorData(MonitorSearchVM searchePara)
        {
            GetLogMonitorInput monitorIn = ConvertSearchVMToGetLogMonitorInput(searchePara);
            PagedResultDto <Log_SystemMonitorDto> monitors = _logMonitorService.GetLogMonitors(monitorIn);
            var result = Abp.AutoMapper.AutoMapExtensions.MapTo <PagedResultDto <Log_OperateMonitorView> >(monitors);// monitors.MapTo<PagedResultDto<Log_OperateMonitorView>>();

            result.Items = result.Items.Select(a =>
            {
                a.RunHours      = Convert.ToDouble(a.RunHours.ToString("f2"));
                a.CpuUsage      = Convert.ToDouble(a.CpuUsage.ToString("f2"));
                a.MemoryUsage   = Convert.ToDouble(a.MemoryUsage.ToString("f2"));
                a.CurProcMem    = Convert.ToDouble(a.CurProcMem.ToString("f2"));
                a.CurProcMemUse = Convert.ToDouble(a.CurProcMemUse.ToString("f2"));
                a.CurProcCpuUse = Convert.ToDouble(a.CurProcCpuUse.ToString("f2"));
                a.CurSubProcMem = Convert.ToDouble(a.CurSubProcMem.ToString("f2"));
                if (string.IsNullOrEmpty(a.DiskSpace))
                {
                    a.DiskSpace = null; return(a);
                }
                a.DiskSpace = string.Join(";", SerializeHelper.XMLDESerializer <List <DiskSpaceEdm> >(a.DiskSpace).Select(p => p.DiscName.Trim(':') + ":" + p.Free + "G(" + p.Rate + "%)"));
                return(a);
            }).ToList();
            var json = AbpJson(new { total = result.TotalCount, rows = result.Items }, null, null, JsonRequestBehavior.AllowGet, true, false);

            return(json);
        }
Пример #20
0
        public PagedResultDto <BillInfoBusinessDto> GetPagedBusiness(SearchBillInfoInput input) //业务清单
        {
            var Has = PermissionChecker.IsGranted(PermissionNames.Pages_Staff_Merchandiser);    //判断是否业务员


            var HasI = PermissionChecker.IsGranted(PermissionNames.Pages_Inspection); //判断是有权限

            var task = _BillInfoRepository.GetAll().OrderByDescending(t => t.Id)
                       .Where(t => t.IsCandidate == false)
                       .WhereIf(input.BillNo.HasValue, t => t.BillNo == input.BillNo)
                       .WhereIf(!input.CompanyAbbreviation.IsNullOrEmpty(), t => t.CompanyAbbreviation.Contains(input.CompanyAbbreviation))
                       .WhereIf(!input.ReceivingCity.IsNullOrEmpty(), t => t.ReceivingCity == input.ReceivingCity)
                       .WhereIf(input.CreationTimeS.HasValue, t => t.CreationTime >= input.CreationTimeS)
                       .WhereIf(input.CreationTimeE.HasValue, t => t.CreationTime <= input.CreationTimeE)
                       .WhereIf(!input.ExpressNo.IsNullOrEmpty(), t => t.ExpressNo == input.ExpressNo)

                       .WhereIf(!HasI, t => t.BillStateID < 2)
                       .OrderByDescending(t => t.CreationTime)
                       .ToList();


            var taskcount = task.Count;                                                                     //数据总量

            var tasklist = task.Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize).ToList(); //获取目标页数据

            var result = new PagedResultDto <BillInfoBusinessDto>(taskcount, tasklist.MapTo <List <BillInfoBusinessDto> >());

            return(result);
        }
Пример #21
0
        /// <summary>
        /// 获取所有role
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <RoleListDto> > GetRoles(GetRolesInput input)
        {
            var query = _roleManager
                        .Roles
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                r => r.DisplayName.Contains(input.Filter)
                )
                        .WhereIf(
                !input.Permission.IsNullOrWhiteSpace(),
                r => r.Permissions.Any(rp => rp.Name == input.Permission && rp.IsGranted)
                );

            var count = await query.CountAsync();

            var roles = await query
                        .OrderBy(input.Sorting)
                        .PageBy(input)
                        .ToListAsync();

            var rolesListDtos = roles.MapTo <List <RoleListDto> >();
            var x             = new PagedResultDto <RoleListDto>(
                count,
                rolesListDtos
                );

            return(new PagedResultDto <RoleListDto>(
                       count,
                       rolesListDtos
                       ));
        }
Пример #22
0
 public async Task OnGetAsync()
 {
     PageQuery.OnlyPublish = true;
     //HACK 是否要写死每页最大显示?
     PageQuery.MaxResultCount = 10;
     Articels = await articleService.GetArticleByPageAsync(PageQuery);
 }
Пример #23
0
        public async Task <PagedResultDto <CourseDto> > GetCoursesByCategory(long categoryId)
        {
            var courses = await _courseRepository.GetAll().Include(x => x.Category)
                          .Include(x => x.Location)
                          .Where(x => x.Category.Id == categoryId && x.IsActive).Select(x => new CourseDto
            {
                Id            = x.Id,
                Title         = x.Title,
                Description   = x.Description,
                Quota         = x.Quota,
                Price         = x.Price,
                StartDate     = x.StartDate,
                ImagePath     = BlobService.BlobService.GetImageUrl(x.ImagePath),
                DiscountPrice = x.DiscountPrice,
                EndDate       = x.EndDate,
                Score         = x.Score,
                LocationName  = x.Location.Name,
            }).ToListAsync();

            var result = new PagedResultDto <CourseDto>
            {
                Results = courses,
                Count   = courses.Count
            };

            return(result);
        }
Пример #24
0
        public async Task <PagedResultDto <AlarmLog> > GetPaginatedResult(GetLogInput input)
        {
            var logs = await Repository.Alarmlog.GetAllListAsync(X => X.Cid == input.Id);

            if (!string.IsNullOrEmpty(input.FilterText))
            {
                logs = logs.Where(X => X.Sid.Contains(input.FilterText) || X.Sname.Contains(input.FilterText) || X.Textlog.Contains(input.FilterText) || X.Alarmtime.Contains(input.FilterText)).ToList();
            }
            var count = logs.Count();

            switch (input.FilterText)
            {
            case "sid":
                logs = logs.OrderBy(S => S.Sid).ToList();
                break;

            case "sid_desc":
                logs = logs.OrderByDescending(S => S.Sid).ToList();
                break;

            case "sname":
                logs = logs.OrderBy(S => S.Sname).ToList();
                break;

            case "sname_desc":
                logs = logs.OrderByDescending(S => S.Sname).ToList();
                break;

            case "text":
                logs = logs.OrderBy(S => S.Textlog).ToList();
                break;

            case "text_desc":
                logs = logs.OrderBy(S => S.Textlog).ToList();
                break;

            case "time":
                logs = logs.OrderBy(S => S.Alarmtime).ToList();
                break;

            case "time_desc":
                logs = logs.OrderByDescending(S => S.Alarmtime).ToList();
                break;

            default:
                logs = logs.OrderByDescending(X => X.Id).ToList();
                break;
            }
            var dtos = new PagedResultDto <AlarmLog>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = logs,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
Пример #25
0
        /// <summary>
        /// 获取用户分页列表
        /// </summary>
        public async Task <PagedResultDto <UserOutput> > GetUsers(GetUsersInput input)
        {
            var query = UserManager.Users
                        .Include(u => u.Roles)
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.Name.Contains(input.Filter) ||
                u.Surname.Contains(input.Filter) ||
                u.UserName.Contains(input.Filter) ||
                u.EmailAddress.Contains(input.Filter)
                )
                        .WhereIf(
                input.IsActive.HasValue,
                t => t.IsActive == input.IsActive.Value
                );

            var userCount = await query.CountAsync();

            var users = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();

            var l = new PagedResultDto <UserOutput>(
                userCount,
                users.MapTo <List <UserOutput> >()
                );

            return(l);
        }
Пример #26
0
        public async Task <PagedResultDto <Student> > GetPaginatedResult(GetStudentInput input)
        {
            var query = _studentRepository.GetAll();

            if (!string.IsNullOrEmpty(input.FilterText))
            {
                query = query.Where(s => s.Name.Contains(input.FilterText) || s.Email.Contains(input.FilterText));
            }
            var count = query.Count();

            query = query.OrderBy(input.Sorting).Skip((input.CurrentPage - 1) * input.MaxResultCount).Take(input.MaxResultCount);
            var models = await query.AsNoTracking().ToListAsync();

            var dtos = new PagedResultDto <Student>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = models,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
Пример #27
0
        public async Task <PagedResultDto <SubscriptionShortDto> > GetAllSubscriptionsAsync(int page)
        {
            IQueryable <NotificationSubscription> query  = _context.Notifications.Where(x => x.Active);
            PagedResultDto <SubscriptionShortDto> result = await ToPagedResult(query, page, MaterializeSubscriptionList);

            return(result);
        }
Пример #28
0
        private void AddShowPanel(PagedResultDto <ParkDto> result)
        {
            parkDtos = result.Items;

            UserControls.ParkInfo parkInfo;
            var width = (this.ActualWidth - 5 * 80) / 4;

            foreach (var park in parkDtos)
            {
                parkInfo                      = new UserControls.ParkInfo();
                parkInfo.Margin               = new Thickness(80, 100, 0, 0);
                parkInfo.Width                = width; //每行展示4个
                parkInfo.Height               = 250;
                parkInfo.DataContext          = park;
                parkInfo.MouseLeftButtonDown += ParkInfo_MouseLeftButtonDown;
                ShowPanel.Children.Add(parkInfo);
            }
            var parkAdd = new UserControl();

            parkAdd.Width  = width;
            parkAdd.Height = 250;

            parkAdd.Margin               = new Thickness(80, 100, 0, 0);
            parkAdd.Template             = (ControlTemplate)FindResource("AddParkControlTemplate");
            parkAdd.MouseLeftButtonDown += ParkAdd_MouseLeftButtonDown;
            ShowPanel.Children.Add(parkAdd);
        }
        /// <summary>
        /// 查询所属角色所有用户
        /// </summary>
        /// <param name="input">查询条件</param>
        public async void GetUserRole(UserRoleInput input)
        {
            // 全部
            var result = from a in ABP_User.GetAll()
                         join r in ABP_UserRole.GetAll().Where(w => w.RoleId == input.RoleId) on a.Id equals r.UserId into g1
                         from g in g1.DefaultIfEmpty()
                         select new UserRole {
                UserId = a.Id, RoleId = g.RoleId, UserName = a.UserName
            };

            // 全部
            if (input.type == 1)
            {
            }
            // 是角色
            else if (input.type == 2)
            {
                result = result.Where(w => w.RoleId == input.RoleId);
            }
            // 不是角色
            else if (input.type == 3)
            {
                result = result.Where(w => w.RoleId == null);
            }

            input.UserName = input.UserName ?? "";
            // 开始查询
            result = result.Where(w => w.UserName.StartsWith(input.UserName));
            //
            var count = result.Count();
            var data  = await result.OrderBy(o => o.RoleId).PageBy(input)
                        .ToListAsync();

            var resultList = new PagedResultDto <UserRole>(count, data);
        }
Пример #30
0
        public virtual IPagedResult <WebhookSendAttempt> GetAllSendAttemptsBySubscriptionAsPagedList(int?tenantId,
                                                                                                     Guid subscriptionId, int maxResultCount, int skipCount)
        {
            PagedResultDto <WebhookSendAttempt> sendAttempts;

            using (var uow = _unitOfWorkManager.Begin())
            {
                using (_unitOfWorkManager.Current.SetTenantId(tenantId))
                {
                    var query = _webhookSendAttemptRepository.GetAllIncluding(attempt => attempt.WebhookEvent)
                                .Where(attempt =>
                                       attempt.WebhookSubscriptionId == subscriptionId
                                       );

                    var totalCount = query.Count();

                    var list = query
                               .OrderByDescending(attempt => attempt.CreationTime)
                               .Skip(skipCount)
                               .Take(maxResultCount)
                               .ToList();

                    sendAttempts = new PagedResultDto <WebhookSendAttempt>()
                    {
                        TotalCount = totalCount,
                        Items      = list
                    };
                }

                uow.Complete();
            }

            return(sendAttempts);
        }