Example #1
0
        public IEnumerable <LmsCourseMeeting> GetByCompanyWithAudioProfiles(ILmsLicense lmsCompany)
        {
            if (lmsCompany == null)
            {
                throw new ArgumentNullException(nameof(lmsCompany));
            }

            // NOTE: check only licenses of the company with the same AC!!
            var query = from c in this.Repository.Session.Query <LmsCompany>()
                        where c.CompanyId == lmsCompany.CompanyId
                        select new { c.Id, c.AcServer };
            var currentLicenseAc = new Uri(lmsCompany.AcServer);
            var companyLicenses  = query.ToArray().Where(c => new Uri(c.AcServer).Host == currentLicenseAc.Host).Select(c => c.Id).ToArray();

            LmsCourseMeeting x  = null;
            OfficeHours      oh = null;
            var defaultQuery    = new DefaultQueryOver <LmsCourseMeeting, int>()
                                  .GetQueryOver(() => x)
                                  .JoinAlias(() => x.OfficeHours, () => oh, JoinType.LeftOuterJoin)
                                  .WhereRestrictionOn(() => x.LmsCompanyId).IsIn(companyLicenses)
                                  .And(() => x.AudioProfileId != null)
                                  .TransformUsing(Transformers.DistinctRootEntity);

            return(this.Repository.FindAll(defaultQuery));
        }
Example #2
0
        public LmsCourseMeeting GetLtiCreatedByCompanyAndScoId(ILmsLicense lmsCompany, string scoId)
        {
            if (lmsCompany == null)
            {
                throw new ArgumentNullException(nameof(lmsCompany));
            }
            if (string.IsNullOrWhiteSpace(scoId))
            {
                throw new ArgumentException("scoId can not be empty", nameof(scoId));
            }

            // NOTE: check only licenses of the company with the same AC!!
            var query = from c in this.Repository.Session.Query <LmsCompany>()
                        where c.CompanyId == lmsCompany.CompanyId
                        select new { c.Id, c.AcServer };
            var currentLicenseAc = new Uri(lmsCompany.AcServer);
            var companyLicenses  = query.ToArray().Where(c => new Uri(c.AcServer).Host == currentLicenseAc.Host).Select(c => c.Id).ToArray();

            // NOTE: return only not-reused meeting - created from LTI
            LmsCourseMeeting x  = null;
            OfficeHours      oh = null;
            var defaultQuery    = new DefaultQueryOver <LmsCourseMeeting, int>()
                                  .GetQueryOver(() => x)
                                  .JoinAlias(() => x.OfficeHours, () => oh, JoinType.LeftOuterJoin)
                                  //.Clone()
                                  .WhereRestrictionOn(() => x.LmsCompanyId).IsIn(companyLicenses)
                                  .Where(() =>
                                         (x.Reused == null || x.Reused == false)
                                         &&
                                         (((x.ScoId != null) && (x.ScoId == scoId)) ||
                                          (x.OfficeHours != null && oh.ScoId == scoId)))
                                  .Take(1);

            return(this.Repository.FindOne(defaultQuery).Value);
        }
Example #3
0
        public IEnumerable <SubModuleCategory> GetByUser(int userId)
        {
            var queryOver = new DefaultQueryOver <SubModuleCategory, int>().GetQueryOver()
                            .Where(x => x.User.Id == userId);

            return(this.Repository.FindAll(queryOver));
        }
Example #4
0
        private QueryOver <LmsCourseMeeting, LmsCourseMeeting> GetByCompanyAndScoIdQuery(ILmsLicense lmsCompany, string scoId, int excludedLmsCourseMeetingId)
        {
            if (lmsCompany == null)
            {
                throw new ArgumentNullException(nameof(lmsCompany));
            }
            if (string.IsNullOrWhiteSpace(scoId))
            {
                throw new ArgumentException("scoId can not be empty", nameof(scoId));
            }

            // NOTE: check only licenses of the company with the same AC!!
            var query = from c in this.Repository.Session.Query <LmsCompany>()
                        where c.CompanyId == lmsCompany.CompanyId
                        select new { c.Id, c.AcServer };
            var currentLicenseAc = new Uri(lmsCompany.AcServer);
            var companyLicenses  = query.ToArray().Where(c => new Uri(c.AcServer).Host == currentLicenseAc.Host).Select(c => c.Id).ToArray();

            LmsCourseMeeting x  = null;
            OfficeHours      oh = null;
            QueryOver <LmsCourseMeeting, LmsCourseMeeting> defaultQuery = new DefaultQueryOver <LmsCourseMeeting, int>()
                                                                          .GetQueryOver(() => x)
                                                                          .JoinAlias(() => x.OfficeHours, () => oh, JoinType.LeftOuterJoin)
                                                                          .WhereRestrictionOn(() => x.LmsCompanyId).IsIn(companyLicenses)
                                                                          .And(() => x.Id != excludedLmsCourseMeetingId)
                                                                          .And(() =>
                                                                               ((x.ScoId != null) && (x.ScoId == scoId)) ||
                                                                               (x.OfficeHours != null && oh.ScoId == scoId))
                                                                          .TransformUsing(Transformers.DistinctRootEntity);

            return(defaultQuery);
        }
Example #5
0
        public IEnumerable <Contact> GetAllExceptDeleted()
        {
            var deleted = ContactStatusEnum.Deleted;
            var query   = new DefaultQueryOver <Contact, int>().GetQueryOver().Where(x => x.Status != deleted);

            return(this.Repository.FindAll(query));
        }
Example #6
0
        public IFutureValue <SubModuleCategory> GetOneByLmsCourseIdAndCompanyLms(string lmsCourseId, int companyLmsId)
        {
            var query =
                new DefaultQueryOver <SubModuleCategory, int>().GetQueryOver().Where(x => x.LmsCourseId == lmsCourseId && x.CompanyLmsId != null && x.CompanyLmsId == companyLmsId);

            return(this.Repository.FindOne(query));
        }
Example #7
0
        /// <summary>
        /// The get one by moodle id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <param name="lmsQuizId">
        /// The lms quiz id.
        /// </param>
        /// <param name="companyLmsId">
        /// The company Lms Id.
        /// </param>
        /// <returns>
        /// The <see cref="IFutureValue{Quiz}"/>.
        /// </returns>
        public IFutureValue <Quiz> GetOneByLmsQuizId(int userId, int lmsQuizId, int companyLmsId)
        {
            QueryOver <User, User> companyQuery =
                new DefaultQueryOver <User, int>().GetQueryOver()
                .Where(x => x.Id == userId)
                .Select(res => res.Company.Id);
            IFutureValue <int> id = this.userRepository.FindOne <int>(companyQuery);

            Quiz              q   = null;
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            User              u2  = null;

            var query =
                new DefaultQueryOver <Quiz, int>().GetQueryOver(() => q)
                .WhereRestrictionOn(x => x.LmsQuizId).IsNotNull
                .And(x => x.LmsQuizId == lmsQuizId)
                .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.InnerJoin)
                .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin)
                .Where(() => smc.CompanyLmsId != null && smc.CompanyLmsId == companyLmsId)
                .JoinQueryOver(() => smi.CreatedBy, () => u2, JoinType.InnerJoin)
                .Where(() => u2.Company.Id == id.Value && (int)u2.Status == 1)
                .Take(1);

            return(this.Repository.FindOne(query));
        }
Example #8
0
        public IFutureValue <QuizResult> GetOneByGuid(Guid guid)
        {
            var query = new DefaultQueryOver <QuizResult, int>().GetQueryOver()
                        .Where(x => x.Guid == guid);

            return(this.Repository.FindOne(query));
        }
Example #9
0
        /// <summary>
        /// The get all by session ids.
        /// </summary>
        /// <param name="sessionIds">
        /// The session ids.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SNSessionMember}"/>.
        /// </returns>
        public IEnumerable <SNMember> GetAllByACSessionIds(List <int> sessionIds)
        {
            var queryOver =
                new DefaultQueryOver <SNMember, int>().GetQueryOver().WhereRestrictionOn(x => x.ACSessionId).IsIn(sessionIds);

            return(this.Repository.FindAll(queryOver));
        }
Example #10
0
        /// <summary>
        /// The get shared for user surveys by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SurveyFromStoredProcedureDTO}"/>.
        /// </returns>
        public IEnumerable <SurveyFromStoredProcedureDTO> GetSharedForUserSurveysByUserId(int userId)
        {
            var query =
                new DefaultQueryOver <User, int>().GetQueryOver()
                .Where(x => x.Id == userId)
                .Select(res =>
                        res.Company.Id);
            var id = this.userRepository.FindOne <int>(query);

            Survey            s   = null;
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            User u  = null;
            User u2 = null;
            SurveyFromStoredProcedureExDTO dto = null;
            var queryOver = new DefaultQueryOver <Survey, int>().GetQueryOver(() => s)
                            .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.InnerJoin).Where(() => smi.IsActive == true && smi.IsShared == true)
                            .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin).Where(() => smc.IsActive == true)
                            .JoinQueryOver(() => smc.User, () => u, JoinType.InnerJoin)
                            .JoinQueryOver(() => smi.CreatedBy, () => u2, JoinType.InnerJoin).Where(() => (int)u2.Status == 1)
                            .Where(() => u2.Id != userId && u2.Company.Id == id.Value)
                            .SelectList(res =>
                                        res.Select(() => s.SurveyGroupingType.Id)
                                        .WithAlias(() => dto.surveyGroupingTypeId)
                                        .Select(() => s.Description)
                                        .WithAlias(() => dto.description)
                                        .Select(() => s.SurveyName)
                                        .WithAlias(() => dto.surveyName)
                                        .Select(() => s.LmsSurveyId)
                                        .WithAlias(() => dto.lmsSurveyId)
                                        .Select(() => s.Id)
                                        .WithAlias(() => dto.surveyId)
                                        .Select(() => u.LastName)
                                        .WithAlias(() => dto.lastName)
                                        .Select(() => u.FirstName)
                                        .WithAlias(() => dto.firstName)
                                        .Select(() => u.Id)
                                        .WithAlias(() => dto.userId)
                                        .Select(() => u2.LastName)
                                        .WithAlias(() => dto.createdByLastName)
                                        .Select(() => u2.FirstName)
                                        .WithAlias(() => dto.createdByName)
                                        .Select(() => smi.CreatedBy.Id)
                                        .WithAlias(() => dto.createdBy)
                                        .Select(() => smi.DateModified)
                                        .WithAlias(() => dto.dateModified)
                                        .Select(() => smi.Id)
                                        .WithAlias(() => dto.subModuleItemId)
                                        .Select(() => smc.CategoryName)
                                        .WithAlias(() => dto.categoryName)
                                        .Select(() => smc.Id)
                                        .WithAlias(() => dto.subModuleCategoryId))
                            .TransformUsing(Transformers.AliasToBean <SurveyFromStoredProcedureExDTO>());
            var result =
                this.Repository.FindAll <SurveyFromStoredProcedureExDTO>(queryOver)
                .ToList()
                .Select(x => new SurveyFromStoredProcedureDTO(x));

            return(result);
        }
Example #11
0
        /// <summary>
        /// The get all by session id.
        /// </summary>
        /// <param name="sessionId">
        /// The session id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SNSessionMember}"/>.
        /// </returns>
        public IEnumerable <SNMember> GetAllByACSessionId(int sessionId)
        {
            var queryOver =
                new DefaultQueryOver <SNMember, int>().GetQueryOver().Where(x => x.ACSessionId == sessionId);

            return(this.Repository.FindAll(queryOver));
        }
Example #12
0
        public List <LmsCompany> GetEnabledForSynchronization(string consumerKey = null)
        {
            LmsCompany               lc  = null;
            LmsCompanySetting        lcs = null;
            OfficeHours              oh  = null;
            IList <LmsCourseMeeting> lcm = null;
            //IList<LmsUserMeetingRole> lumr = null;
            //IList<LmsUser> lu = null;
            //LmsUser u = null;
            var defaultQuery = new DefaultQueryOver <LmsCompany, int>()
                               .GetQueryOver(() => lc)
                               .Where(x => x.IsActive);

            if (!string.IsNullOrEmpty(consumerKey))
            {
                defaultQuery = defaultQuery.Where(x => x.ConsumerKey == consumerKey);
            }
            defaultQuery = defaultQuery
                           .JoinAlias(() => lc.Settings, () => lcs)
                           .Where(() => lcs.Name == LmsLicenseSettingNames.UseSynchronizedUsers && lcs.Value == "True")
                           .JoinAlias(() => lc.LmsCourseMeetings, () => lcm)
                           .JoinAlias(() => lcm.First().OfficeHours, () => oh, JoinType.LeftOuterJoin)
//                .JoinAlias(() => lcm.First().MeetingRoles, () => lumr)
//                .Fetch(x => x.Settings).Eager
                           .Fetch(x => x.LmsCourseMeetings).Eager
                           .Fetch(x => x.LmsCourseMeetings.First().OfficeHours).Eager
//                .Fetch(x => x.LmsCourseMeetings.First().MeetingRoles).Eager
                           .Fetch(x => x.AdminUser).Eager
                           .TransformUsing(Transformers.DistinctRootEntity);
            return(this.Repository.FindAll(defaultQuery).ToList());
        }
Example #13
0
        /// <summary>
        /// The get all by session id.
        /// </summary>
        /// <param name="sessionId">
        /// The session id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SNSessionMember}"/>.
        /// </returns>
        public IFutureValue <SNGroupDiscussion> GetOneByACSessionId(int sessionId)
        {
            var queryOver =
                new DefaultQueryOver <SNGroupDiscussion, int>().GetQueryOver().Where(x => x.ACSessionId == sessionId).Take(1);

            return(this.Repository.FindOne(queryOver));
        }
Example #14
0
        /// <summary>
        /// The get quiz result by adobe connect session id.
        /// </summary>
        /// <param name="adobeConnectSessionId">
        /// The adobe connect session id.
        /// </param>
        /// <param name="smiId">
        /// The sub module item id.
        /// </param>
        /// <returns>
        /// The <see cref="QuizResultDataDTO"/>.
        /// </returns>
        public SurveyResultDataDTO GetSurveyResultByACSessionId(int adobeConnectSessionId, int smiId)
        {
            var res = new SurveyResultDataDTO();

            res.questions = this.Repository.StoreProcedureForMany <QuestionForAdminDTO>("getSurveyQuestionsForAdminBySMIId",
                                                                                        new StoreProcedureParam <int>("smiId", smiId),
                                                                                        new StoreProcedureParam <int>("acSessionId", adobeConnectSessionId)).ToArray();

            res.players =
                this.Repository.StoreProcedureForMany <SurveyPlayerFromStoredProcedureDTO>(
                    "getSurveyResultByACSessionId",
                    new StoreProcedureParam <int>("acSessionId", adobeConnectSessionId),
                    new StoreProcedureParam <int>("subModuleItemId", smiId))
                .ToList()
                .Select(x => new SurveyPlayerDTO(x))
                .ToArray();
            //saving the questions order
            res.questions = res.questions.OrderBy(x => x.questionOrder).ToArray();
            var questionIds = res.questions.Select(q => q.questionId).ToList();

            var query = new DefaultQueryOver <SurveyQuestionResult, int>().GetQueryOver()
                        .WhereRestrictionOn(x => x.QuestionRef.Id).IsIn(questionIds)
                        .AndRestrictionOn(x => x.SurveyResult.Id).IsIn(res.players.Select(q => q.surveyResultId).ToList());

            var distractorsQuery = new DefaultQueryOver <Distractor, int>().GetQueryOver()
                                   .WhereRestrictionOn(x => x.Question.Id)
                                   .IsIn(questionIds);

            var surveyQuestionResults = this.surveyQuestionResultRepository.FindAll(query).ToList();

            var distractors = this.distractorRepository.FindAll(distractorsQuery).ToList();

            var xmlSurveyResultIds = new XElement("Ids", surveyQuestionResults.Select(q => new XElement("Id", q.Id)));
            var answersQuery       = this.Repository.Session.GetNamedQuery("getSurveyResultAnswers");

            answersQuery.SetParameter("surveyResultIds", xmlSurveyResultIds.ToString(), NHibernateUtil.StringClob);
            answersQuery = answersQuery.SetResultTransformer(new AliasToBeanResultTransformer(typeof(SurveyQuestionResultAnswerDTO)));
            var answers = answersQuery.List <SurveyQuestionResultAnswerDTO>();

            foreach (var questionForAdminDTO in res.questions)
            {
                questionForAdminDTO.questionResultIds = surveyQuestionResults
                                                        .Where(x => x.QuestionRef.Id == questionForAdminDTO.questionId)
                                                        .Select(x => x.Id)
                                                        .ToArray();

                questionForAdminDTO.distractors = distractors
                                                  .Where(x => x.Question.Id == questionForAdminDTO.questionId)
                                                  .Select(x => new DistractorDTO(x))
                                                  .ToArray();
            }

            foreach (var surveyPlayerDTO in res.players)
            {
                var playerSurveyQuestionResultIds = surveyQuestionResults.Where(x => x.SurveyResult.Id == surveyPlayerDTO.surveyResultId).Select(x => x.Id).ToList();
                surveyPlayerDTO.answers = answers.Where(x => playerSurveyQuestionResultIds.Contains(x.surveyQuestionResultId)).ToArray();
            }

            return(res);
        }
Example #15
0
        /// <summary>
        /// The get one by AC id course id and LMS user id.
        /// </summary>
        /// <param name="adobeConnectUserId">
        /// The adobe connect user id.
        /// </param>
        /// <param name="lmsCourseId">
        /// The LMS course id.
        /// </param>
        /// <param name="companyLmsId">
        /// The company LMS Id.
        /// </param>
        /// <returns>
        /// The <see cref="IFutureValue{LmsUserParameters}"/>.
        /// </returns>
        public IFutureValue <LmsUserParameters> GetOneByAcIdCourseIdAndCompanyLmsId(string adobeConnectUserId, string lmsCourseId, int companyLmsId)
        {
            var queryOver = new DefaultQueryOver <LmsUserParameters, int>().GetQueryOver()
                            .Where(x => x.AcId == adobeConnectUserId && x.Course == lmsCourseId && x.CompanyLms.Id == companyLmsId).Take(1);

            return(this.Repository.FindOne(queryOver));
        }
Example #16
0
        public LmsCourseMeeting GetOneByCourseAndId(int companyLmsId, string courseId, long id)
        {
            if (companyLmsId <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(companyLmsId));
            }
            if (string.IsNullOrEmpty(courseId))
            {
                throw new ArgumentException(nameof(courseId));
            }
            if (id <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(id));
            }

            LmsCourseMeeting x = null;
            //OfficeHours oh = null;
            var defaultQuery = new DefaultQueryOver <LmsCourseMeeting, int>()
                               .GetQueryOver(() => x)
                               //.JoinAlias(() => x.OfficeHours, () => oh, JoinType.LeftOuterJoin)
                               .Where(() => x.Id == id && x.LmsCompanyId == companyLmsId && x.CourseId == courseId)
                               .Take(1);

            return(this.Repository.FindOne(defaultQuery).Value);
        }
Example #17
0
        public IFutureValue <LmsCourseMeeting> GetOneByUserAndType(int companyLmsId, string userId, LmsMeetingType type)
        {
            if (companyLmsId <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(companyLmsId));
            }
            if (string.IsNullOrWhiteSpace(userId))
            {
                throw new ArgumentException("userId can not be empty", nameof(userId));
            }
            if (type <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(type));
            }

            int typeValue       = (int)type;
            LmsCourseMeeting x  = null;
            OfficeHours      oh = null;
            LmsUser          u  = null;
            var defaultQuery    = new DefaultQueryOver <LmsCourseMeeting, int>()
                                  .GetQueryOver(() => x)
                                  .JoinAlias(() => x.OfficeHours, () => oh, JoinType.InnerJoin)
                                  .JoinAlias(() => oh.LmsUser, () => u, JoinType.InnerJoin)
                                  .Where(() => x.LmsCompanyId == companyLmsId &&
                                         x.LmsMeetingType == typeValue &&
                                         (x.OfficeHours != null && u.UserId == userId))
                                  .Take(1);

            return(this.Repository.FindOne(defaultQuery));
        }
Example #18
0
        /// <summary>
        /// The get one by user id.
        /// </summary>
        /// <returns>
        /// The <see cref="IEnumerable{CompanyLicense}"/>.
        /// </returns>
        public IEnumerable <CompanyLicense> GetAllTrial()
        {
            var queryOver =
                new DefaultQueryOver <CompanyLicense, int>().GetQueryOver().Where(x => x.LicenseStatus == CompanyLicenseStatus.Trial);

            return(this.Repository.FindAll(queryOver));
        }
Example #19
0
        /// <summary>
        /// The get all by company id.
        /// </summary>
        /// <param name="firmId">
        /// The company id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{Category}"/>.
        /// </returns>
        public IEnumerable <Category> GetAllByCompanyId(int firmId)
        {
            QueryOver <Category, Category> query =
                new DefaultQueryOver <Category, int>().GetQueryOver().Where(x => x.Company.Id == firmId);

            return(this.Repository.FindAll(query).ToList());
        }
Example #20
0
        /// <summary>
        /// The get one by id.
        /// </summary>
        /// <param name="id">
        /// The id.
        /// </param>
        /// <returns>
        /// The <see cref="IFutureValue{Category}"/>.
        /// </returns>
        public override IFutureValue <Category> GetOneById(int id)
        {
            QueryOver <Category, Category> defaultQuery =
                new DefaultQueryOver <Category, int>().GetQueryOver().Where(x => x.Id == id).Fetch(x => x.Company).Eager;

            return(this.Repository.FindOne(defaultQuery));
        }
Example #21
0
        /// <summary>
        ///     The get all.
        /// </summary>
        /// <returns>
        ///     The <see cref="IEnumerable{Category}" />.
        /// </returns>
        public override IEnumerable <Category> GetAll()
        {
            QueryOver <Category, Category> defaultQuery =
                new DefaultQueryOver <Category, int>().GetQueryOver().Fetch(x => x.Company).Eager;

            return(this.Repository.FindAll(defaultQuery));
        }
Example #22
0
        /// <summary>
        /// The get by sub module item id.
        /// </summary>
        /// <param name="id">
        /// The id.
        /// </param>
        /// <returns>
        /// The <see cref="IFutureValue{AppletItem}"/>.
        /// </returns>
        public IFutureValue <AppletItem> GetOneBySMIId(int id)
        {
            QueryOver <AppletItem> queryOver =
                new DefaultQueryOver <AppletItem, int>().GetQueryOver().Where(x => x.SubModuleItem.Id == id).Take(1);

            return(this.Repository.FindOne(queryOver));
        }
Example #23
0
        /// <summary>
        /// The get all paged.
        /// </summary>
        /// <param name="searchPattern">
        /// The name.
        /// </param>
        /// <param name="companyId">
        /// The company 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{T}"/>.
        /// </returns>
        public IEnumerable <Category> 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 <Category, int>().GetQueryOver();

            if (companyId != 0)
            {
                queryOver = queryOver.Where(x => x.Company.Id == companyId);
            }

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

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

            totalCount = this.Repository.FindOne <int>(rowCountQuery).Value;
            QueryOver <Category> pagedQuery = queryOver.OrderBy(x => x.CategoryName).Asc;

            if (pageSize > 0)
            {
                pagedQuery = pagedQuery.Take(pageSize).Skip((pageIndex - 1) * pageSize);
            }

            return(searchIds.Any() ? this.Repository.FindAll(pagedQuery).ToList().OrderBy(x => searchIds.IndexOf(x.Id)) : this.Repository.FindAll(pagedQuery));
        }
Example #24
0
        /// <summary>
        /// The get one by name.
        /// </summary>
        /// <param name="companyName">
        /// The company name.
        /// </param>
        /// <returns>
        /// The <see cref="IFutureValue{Company}"/>.
        /// </returns>
        public IFutureValue <Company> GetOneByName(string companyName)
        {
            var companyNameToLower = companyName.Return(x => x.ToLowerInvariant(), string.Empty);
            var query = new DefaultQueryOver <Company, int>().GetQueryOver().WhereRestrictionOn(x => x.CompanyName).IsInsensitiveLike(companyNameToLower);

            return(this.Repository.FindOne(query));
        }
Example #25
0
        /// <summary>
        /// The get all for user.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{Company}"/>.
        /// </returns>
        public IEnumerable <Company> GetAllForUser(int userId)
        {
            CompanyContact companyContact = null;
            var            query          = new DefaultQueryOver <Company, int>().GetQueryOver().JoinQueryOver(x => x.CompanyContacts, () => companyContact).Where(() => companyContact.Contact.Id == userId);

            return(this.Repository.FindAll(query));
        }
Example #26
0
 public override IEnumerable <TimeZone> GetAll()
 {
     return(CacheUtility.GetCachedItem <List <TimeZone> >(_cache, CachePolicies.Keys.TimeZones(), () =>
     {
         var query = new DefaultQueryOver <TimeZone, int>().GetQueryOver().OrderBy(x => x.TimeZoneName).Asc;
         return this.Repository.FindAll(query).ToList();
     }));
 }
Example #27
0
        /// <summary>
        /// The get one by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <param name="companyLmsId">
        /// The company LMS Id.
        /// </param>
        /// <returns>
        /// The <see cref="IFutureValue{LmsUser}"/>.
        /// </returns>
        public IFutureValue <LmsUser> GetOneByUserIdAndCompanyLms(string userId, int companyLmsId)
        {
            var queryOver = new DefaultQueryOver <LmsUser, int>()
                            .GetQueryOver()
                            .Where(u => u.LmsCompany.Id == companyLmsId && u.UserId == userId);

            return(this.Repository.FindOne(queryOver));
        }
Example #28
0
        /// <summary>
        /// The get all by questions ids.
        /// </summary>
        /// <param name="questionIds">
        /// The question ids.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{Distractor}"/>.
        /// </returns>
        public IEnumerable <Distractor> GetAllByQuestionsIds(List <int> questionIds)
        {
            var queryOver = new DefaultQueryOver <Distractor, int>()
                            .GetQueryOver().Where(x => x.IsActive == true)
                            .AndRestrictionOn(x => x.Question.Id).IsIn(questionIds).Fetch(x => x.Image).Eager;

            return(this.Repository.FindAll(queryOver));
        }
Example #29
0
 public override IEnumerable <LmsQuestionType> GetAll()
 {
     return(CacheUtility.GetCachedItem(_cache, CachePolicies.Keys.LmsQuestionTypes(), () =>
     {
         var query = new DefaultQueryOver <LmsQuestionType, int>().GetQueryOver();
         return this.Repository.FindAll(query).ToList();
     }));
 }
Example #30
0
 public override IEnumerable <SNMapProvider> GetAll()
 {
     return(CacheUtility.GetCachedItem <List <SNMapProvider> >(_cache, CachePolicies.Keys.SNMapProviders(), () =>
     {
         var query = new DefaultQueryOver <SNMapProvider, int>().GetQueryOver().OrderBy(x => x.MapProvider).Asc;
         return this.Repository.FindAll(query).ToList();
     }));
 }