Пример #1
0
        /// <summary>
        /// The get all paged.
        /// </summary>
        /// <param name="pageIndex">
        /// The page index.
        /// </param>
        /// <param name="pageSize">
        /// The page items.
        /// </param>
        /// <param name="totalCount">
        /// The total Count.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{AppletItem}"/>.
        /// </returns>
        public IEnumerable <AppletItem> GetAllPaged(int pageIndex, int pageSize, out int totalCount)
        {
            QueryOver <AppletItem, AppletItem> queryOver     = new DefaultQueryOver <AppletItem, int>().GetQueryOver();
            QueryOver <AppletItem, AppletItem> rowCountQuery = queryOver.ToRowCountQuery();

            totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;
            QueryOver <AppletItem> pagedQuery = queryOver.Take(pageSize).Skip((pageIndex - 1) * pageSize);

            return(this.Repository.FindAll(pagedQuery));
        }
Пример #2
0
        /// <summary>
        /// The get all paged.
        /// </summary>
        /// <param name="pageIndex">
        /// The page index.
        /// </param>
        /// <param name="pageSize">
        /// The page items.
        /// </param>
        /// <param name="totalCount">
        /// The total Count.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SubModuleCategory}"/>.
        /// </returns>
        public IEnumerable <SubModuleCategory> GetAllPaged(int pageIndex, int pageSize, out int totalCount)
        {
            var queryOver     = new DefaultQueryOver <SubModuleCategory, int>().GetQueryOver();
            var rowCountQuery = queryOver.ToRowCountQuery();

            totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;
            var pagedQuery = queryOver.Take(pageSize).Skip((pageIndex - 1) * pageSize);

            return(this.Repository.FindAll(pagedQuery));
        }
Пример #3
0
        /// <summary>
        /// The find all paged.
        /// </summary>
        /// <param name="pageIndex">
        /// The page index.
        /// </param>
        /// <param name="pageSize">
        /// The page size.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{TEntity}"/>.
        /// </returns>
        public IEnumerable <TEntity> FindAllPaged(int pageIndex, int pageSize)
        {
            if (pageIndex <= default(int))
            {
                pageIndex = 1;
            }

            var queryOver  = new DefaultQueryOver <TEntity, TId>().GetQueryOver();
            var pagedQuery = queryOver.Take(pageSize).Skip((pageIndex - 1) * pageSize);

            return(this.FindAll(pagedQuery));
        }
Пример #4
0
        public IEnumerable <Contact> GetAllByCompanyAndNamePaged(string searchPattern, int companyId, int pageIndex, int pageSize, out int totalCount)
        {
            var searchIds = new List <int>();

            if (pageIndex <= default(int))
            {
                pageIndex = 1;
            }

            var queryOver = new DefaultQueryOver <Contact, int>().GetQueryOver();


            if (!string.IsNullOrWhiteSpace(searchPattern))
            {
                searchIds = this._fullTextModel.Search(searchPattern, typeof(Contact), int.MaxValue).ToList();
                queryOver = queryOver.AndRestrictionOn(x => x.Id).IsIn(searchIds);
            }

            if (companyId != 0)
            {
                CompanyContact companyContact = null;
                var            queryOver2     = queryOver.JoinQueryOver(x => x.CompanyContacts, () => companyContact).Where(() => companyContact.Company.Id == companyId);
                var            rowCountQuery  = queryOver2.ToRowCountQuery();
                totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;

                if (pageSize > 0)
                {
                    var pagedQueryOver = queryOver2.Take(pageSize).Skip((pageIndex - 1) * pageSize);
                    return(searchIds.Any() ? this.Repository.FindAll(pagedQueryOver).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(pagedQueryOver));
                }

                return(searchIds.Any() ? this.Repository.FindAll(queryOver2).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(queryOver2));
            }
            else
            {
                var rowCountQuery = queryOver.ToRowCountQuery();
                totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;

                if (pageSize > 0)
                {
                    var pagedQueryOver = queryOver.Take(pageSize).Skip((pageIndex - 1) * pageSize);
                    return(searchIds.Any() ? this.Repository.FindAll(pagedQueryOver).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(pagedQueryOver));
                }

                return(searchIds.Any() ? this.Repository.FindAll(queryOver).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(queryOver));
            }
        }
Пример #5
0
        /// <summary>
        /// The get recent splash screen reports paged.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <param name="pageIndex">
        /// The page index.
        /// </param>
        /// <param name="pageSize">
        /// The page size.
        /// </param>
        /// <param name="totalCount">
        /// The total count.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{RecentReportDTO}"/>.
        /// </returns>
        // ReSharper disable ImplicitlyCapturedClosure
        public IEnumerable <RecentReportDTO> GetRecentSplashScreenReportsPaged(
            int userId, int pageIndex, int pageSize, out int totalCount)
        {
            RecentReportFromStoredProcedureDTO dto             = null;
            SubModuleCategory category                         = null;
            QueryOver <SubModuleItem, SubModuleItem> queryOver =
                new DefaultQueryOver <SubModuleItem, int>().GetQueryOver()
                .Where(x => x.CreatedBy.Id == userId)
                .JoinAlias(x => x.SubModuleCategory, () => category)
                .OrderBy(x => x.DateModified)
                .Desc.SelectList(
                    list =>
                    list.Select(x => x.DateModified)
                    .WithAlias(() => dto.dateModified)
                    .Select(() => category.Id)
                    .WithAlias(() => dto.subModuleCategoryId)
                    .Select(x => x.Id)
                    .WithAlias(() => dto.subModuleItemId)
                    .Select(() => category.SubModule.Id)
                    .WithAlias(() => dto.type))
                .TransformUsing(Transformers.AliasToBean <RecentReportFromStoredProcedureDTO>());

            QueryOver <SubModuleItem, SubModuleItem> rowCountQuery = queryOver.ToRowCountQuery();

            totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;
            QueryOver <SubModuleItem> pagedQuery = queryOver.Take(pageSize).Skip((pageIndex - 1) * pageSize);
            var reports =
                this.Repository.FindAll <RecentReportFromStoredProcedureDTO>(pagedQuery)
                .ToList()
                .Select(x => new RecentReportDTO(x))
                .ToList();

            List <int> reportsIds = reports.Select(x => x.subModuleItemId).ToList();
            Dictionary <int, RecentReportDTO> crosswords     = this.appletItemModel.GetCrosswords(reportsIds);
            Dictionary <int, RecentReportDTO> quizes         = this.quizModel.GetQuizes(reportsIds);
            Dictionary <int, RecentReportDTO> surveys        = this.surveyModel.GetSurveys(reportsIds);
            Dictionary <int, RecentReportDTO> tests          = this.testModel.GetTests(reportsIds);
            Dictionary <int, RecentReportDTO> socialProfiles = this.socialProfileModel.GetSNProfiles(reportsIds);

            return(this.MergeData(reports, new List <Dictionary <int, RecentReportDTO> > {
                crosswords, quizes, surveys, socialProfiles, tests
            }));
        }
Пример #6
0
        public IEnumerable <Topic> GetAllByCategoryAndNamePaged(string searchPattern, int categoryId, int companyId, int pageIndex, int pageSize, out int totalCount)
        {
            var searchIds = new List <int>();

            if (pageIndex <= default(int))
            {
                pageIndex = 1;
            }

            var queryOver = new DefaultQueryOver <Topic, int>().GetQueryOver();

            if (companyId != 0)
            {
                var subquery = QueryOver.Of <Category>().Where(x => x.CompanyId == companyId).Select(x => x.Id);
                queryOver = queryOver.WithSubquery.WhereProperty(x => x.Category.Id).In(subquery);
            }

            if (categoryId != 0)
            {
                queryOver = queryOver.Where(x => x.Category.Id == categoryId);
            }

            if (!string.IsNullOrWhiteSpace(searchPattern))
            {
                searchIds = this.fullTextModel.Search(searchPattern, typeof(Topic), int.MaxValue).ToList();
                queryOver = queryOver.AndRestrictionOn(x => x.Id).IsIn(searchIds);
            }

            var rowCountQuery = queryOver.ToRowCountQuery();

            totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;

            if (pageSize > 0)
            {
                var pagedQueryOver = queryOver.Take(pageSize).Skip((pageIndex - 1) * pageSize);
                return(searchIds.Any() ? this.Repository.FindAll(pagedQueryOver).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(pagedQueryOver));
            }

            return(searchIds.Any() ? this.Repository.FindAll(queryOver).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(queryOver));
        }