Ejemplo n.º 1
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));
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// The get quizzes by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <param name="showLms">
        /// The show lms.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{QuizFromStoredProcedureDTO}"/>.
        /// </returns>
        public IEnumerable <QuizFromStoredProcedureExDTO> GetQuizzesByUserId(int userId, bool showLms)
        {
            Quiz                         q         = null;
            SubModuleItem                smi       = null;
            SubModuleCategory            smc       = null;
            User                         u         = null;
            User                         u2        = null;
            QuizFromStoredProcedureExDTO dto       = null;
            QueryOver <Quiz, User>       queryOver =
                new DefaultQueryOver <Quiz, int>().GetQueryOver(() => q)
                .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.InnerJoin)
                .Where(() => smi.IsActive == true)
                .And(() => q.LmsQuizId == null || showLms == true)
                .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin)
                .Where(() => smc.IsActive == true)
                .JoinQueryOver(() => smc.User, () => u, JoinType.InnerJoin)
                .JoinQueryOver(() => smi.CreatedBy, () => u2, JoinType.LeftOuterJoin)
                .Where(() => u2.Id == userId)
                .SelectList(
                    res =>
                    res.Select(() => q.Description)
                    .WithAlias(() => dto.description)
                    .Select(() => q.QuizName)
                    .WithAlias(() => dto.quizName)
                    .Select(() => q.LmsQuizId)
                    .WithAlias(() => dto.lmsQuizId)
                    .Select(() => q.Id)
                    .WithAlias(() => dto.quizId)
                    .Select(() => u.LastName)
                    .WithAlias(() => dto.lastName)
                    .Select(() => q.IsPostQuiz)
                    .WithAlias(() => dto.isPostQuiz)
                    .Select(() => q.PassingScore)
                    .WithAlias(() => dto.PassingScore)
                    .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 <QuizFromStoredProcedureExDTO>());
            List <QuizFromStoredProcedureExDTO> result =
                this.Repository.FindAll <QuizFromStoredProcedureExDTO>(queryOver).ToList();

            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// The get applet sub module items by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SubModuleItem}"/>.
        /// </returns>
        public IEnumerable <SubModuleItemDTO> GetQuizSMItemsByUserId(int userId)
        {
            QueryOver <User, User> query =
                new DefaultQueryOver <User, int>().GetQueryOver()
                .Where(x => x.Id == userId)
                .Select(res => res.Company.Id);
            IFutureValue <int> companyId = this.userRepository.FindOne <int>(query);

            SubModuleItemFromStoredProcedureDTO dto = null;
            SubModuleItem     smi    = null;
            SubModuleCategory smc    = null;
            Quiz quiz                = null;
            SubModuleItemTheme theme = null;
            User u         = null;
            var  queryOver =
                new DefaultQueryOver <SubModuleItem, int>().GetQueryOver(() => smi)
                .JoinQueryOver(x => x.SubModuleCategory, () => smc)
                .JoinQueryOver(() => smi.Quizes, () => quiz)
                .JoinQueryOver(() => smi.Themes, () => theme, JoinType.LeftOuterJoin)
                .JoinQueryOver(() => smc.User, () => u, JoinType.InnerJoin)
                .Where(() => smi.CreatedBy != null && smc.User != null && ((smi.CreatedBy.Id == userId && smc.User.Id == userId) ||
                                                                           (u.Company.Id == companyId.Value && quiz.LmsQuizId != null)))
                .SelectList(res =>
                            res.Select(() => smi.CreatedBy.Id)
                            .WithAlias(() => dto.createdBy)
                            .Select(() => smi.Id)
                            .WithAlias(() => dto.subModuleItemId)
                            .Select(() => smc.SubModule.Id)
                            .WithAlias(() => dto.subModuleId)
                            .Select(() => smi.SubModuleCategory.Id)
                            .WithAlias(() => dto.subModuleCategoryId)
                            .Select(() => smi.IsShared)
                            .WithAlias(() => dto.isShared)
                            .Select(() => smi.ModifiedBy.Id)
                            .WithAlias(() => dto.modifiedBy)
                            .Select(() => smi.DateCreated)
                            .WithAlias(() => dto.dateCreated)
                            .Select(() => smi.DateModified)
                            .WithAlias(() => dto.dateModified)
                            .Select(() => smi.IsActive)
                            .WithAlias(() => dto.isActive)
                            .Select(() => theme.Id)
                            .WithAlias(() => dto.themeId))
                .TransformUsing(Transformers.AliasToBean <SubModuleItemFromStoredProcedureDTO>());
            var result =
                this.Repository.FindAll <SubModuleItemFromStoredProcedureDTO>(queryOver)
                .ToList()
                .Select(x => new SubModuleItemDTO(x))
                .ToList();
            var themeIds   = result.Where(x => x.themeId.HasValue).Select(x => x.themeId.Value).ToList();
            var themeQuery = new DefaultQueryOver <SubModuleItemTheme, int>().GetQueryOver().WhereRestrictionOn(x => x.Id).IsIn(themeIds);
            var themes     = this.themeRepository.FindAll(themeQuery).ToList();

            result.ForEach(x => x.themeVO = x.themeId.HasValue ? themes.FirstOrDefault(t => t.Id == x.themeId).Return(tt => new SubModuleItemThemeDTO(tt), null) : null);
            return(result);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SubModuleCategoryDTO"/> class.
 /// </summary>
 /// <param name="result">
 /// The result.
 /// </param>
 public SubModuleCategoryDTO(SubModuleCategory result)
 {
     this.subModuleCategoryId = result.Id;
     this.userId       = result.User.With(x => x.Id);
     this.subModuleId  = result.SubModule.With(x => x.Id);
     this.modifiedBy   = result.ModifiedBy.Return(x => x.Id, (int?)null);
     this.categoryName = result.CategoryName;
     this.dateModified = result.DateModified.ConvertToUnixTimestamp();
     this.isActive     = result.IsActive;
 }
Ejemplo n.º 6
0
 private SubModuleCategory ConvertDto(SubModuleCategoryDTO smc, SubModuleCategory instance)
 {
     instance              = instance ?? new SubModuleCategory();
     instance.IsActive     = smc.isActive;
     instance.CategoryName = smc.categoryName;
     instance.DateModified = DateTime.Now;
     instance.SubModule    = this.SubModuleModel.GetOneById(smc.subModuleId).Value;
     instance.User         = this.UserModel.GetOneById(smc.userId).Value;
     instance.ModifiedBy   = smc.modifiedBy.HasValue ? this.UserModel.GetOneById(smc.modifiedBy.Value).Value : null;
     return(instance);
 }
Ejemplo n.º 7
0
        /// <summary>
        /// The get shared crosswords by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{CrosswordDTO}"/>.
        /// </returns>
        public IEnumerable <CrosswordDTO> GetSharedCrosswordsByUserId(int userId)
        {
            QueryOver <User, User> subQuery =
                QueryOver.Of <User>().Where(x => x.Id == userId).Select(res => res.Company.Id);

            AppletItem        ai  = null;
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            User         u        = null;
            User         u2       = null;
            CrosswordDTO dto      = null;
            QueryOver <AppletItem, User> queryOver =
                new DefaultQueryOver <AppletItem, int>().GetQueryOver(() => ai)
                .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(() => u2.Id != userId && (int)u2.Status == 1)
                .WithSubquery.WhereProperty(() => u2.Company.Id)
                .In(subQuery)
                .SelectList(
                    res =>
                    res.Select(() => ai.AppletName)
                    .WithAlias(() => dto.appletName)
                    .Select(() => ai.Id)
                    .WithAlias(() => dto.appletItemId)
                    .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.dateModifiedData)
                    .Select(() => smi.Id)
                    .WithAlias(() => dto.subModuleItemId)
                    .Select(() => smc.CategoryName)
                    .WithAlias(() => dto.categoryName)
                    .Select(() => smc.Id)
                    .WithAlias(() => dto.subModuleCategoryId))
                .TransformUsing(Transformers.AliasToBean <CrosswordDTO>());
            List <CrosswordDTO> result = this.Repository.FindAll <CrosswordDTO>(queryOver).ToList();

            return(result);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// The get one by SMI id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SNProfile}"/>.
        /// </returns>
        public IEnumerable <SNProfileExtraDTO> GetAllSharedByUserId(int userId)
        {
            SNProfile         profile = null;
            SubModuleItem     smi     = null;
            SubModuleCategory smc     = null;
            User u  = null;
            User u2 = null;
            SNProfileExtraFromStoredProcedureDTO dto = null;
            const UserStatus ActiveStatus            = UserStatus.Active;
            var user      = this.userModel.GetOneById(userId).Value;
            var companyId = user.Company.Id;

            return
                (this.Repository.FindAll <SNProfileExtraFromStoredProcedureDTO>(
                     QueryOver.Of(() => profile)
                     .JoinAlias(x => x.SubModuleItem, () => smi)
                     .Where(() => smi.IsActive == true && smi.IsShared == true)
                     .JoinAlias(() => smi.SubModuleCategory, () => smc)
                     .Where(() => smc.IsActive == true)
                     .JoinAlias(() => smc.User, () => u)
                     .JoinAlias(() => smi.CreatedBy, () => u2)
                     .Where(() => u2.Id != userId && u2.Status == ActiveStatus && u2.Company.Id == companyId)
                     .SelectList(
                         list =>
                         list.Select(() => smc.Id)
                         .WithAlias(() => dto.subModuleCategoryId)
                         .Select(() => smc.CategoryName)
                         .WithAlias(() => dto.categoryName)
                         .Select(() => smi.Id)
                         .WithAlias(() => dto.subModuleItemId)
                         .Select(() => smi.DateModified)
                         .WithAlias(() => dto.dateModified)
                         .Select(() => u2.Id)
                         .WithAlias(() => dto.createdBy)
                         .Select(() => u2.FirstName)
                         .WithAlias(() => dto.createdByFirstName)
                         .Select(() => u2.LastName)
                         .WithAlias(() => dto.createdByLastName)
                         .Select(() => u.Id)
                         .WithAlias(() => dto.userId)
                         .Select(() => u.FirstName)
                         .WithAlias(() => dto.firstName)
                         .Select(() => u.LastName)
                         .WithAlias(() => dto.lastName)
                         .Select(() => profile.Id)
                         .WithAlias(() => dto.snProfileId)
                         .Select(() => profile.ProfileName)
                         .WithAlias(() => dto.profileName))
                     .TransformUsing(Transformers.AliasToBean <SNProfileExtraFromStoredProcedureDTO>()))
                 .ToList()
                 .Select(x => new SNProfileExtraDTO(x)));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// The get quiz categories by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{QuizCategoriesFromStoredProcedureDTO}"/>.
        /// </returns>
        public IEnumerable <SMICategoriesFromStoredProcedureDTO> GetQuizCategoriesbyUserId(int userId)
        {
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            Quiz q = null;
            SMICategoriesFromStoredProcedureExDTO dto       = null;
            QueryOver <Quiz, SubModuleCategory>   queryOver =
                new DefaultQueryOver <Quiz, int>().GetQueryOver(() => q)
                .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.RightOuterJoin)
                .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin)
                .Where(() => smc.User.Id == userId && smi.CreatedBy.Id == userId && q.Id != 0)
                .SelectList(
                    res =>
                    res.Select(
                        Projections.Distinct(
                            Projections.ProjectionList()
                            .Add(Projections.Property(() => smc.IsActive))
                            .Add(Projections.Property(() => smc.DateModified))
                            .Add(Projections.Property(() => smc.ModifiedBy.Id))
                            .Add(Projections.Property(() => smc.CategoryName))
                            .Add(Projections.Property(() => smc.SubModule.Id))
                            .Add(Projections.Property(() => smc.User.Id))
                            .Add(Projections.Property(() => smc.Id))))
                    .Select(() => smc.IsActive)
                    .WithAlias(() => dto.isActive)
                    .Select(() => smc.DateModified)
                    .WithAlias(() => dto.dateModified)
                    .Select(() => smc.ModifiedBy.Id)
                    .WithAlias(() => dto.modifiedBy)
                    .Select(() => smc.CategoryName)
                    .WithAlias(() => dto.categoryName)
                    .Select(() => smc.SubModule.Id)
                    .WithAlias(() => dto.subModuleId)
                    .Select(() => smc.User.Id)
                    .WithAlias(() => dto.userId)
                    .Select(() => smc.Id)
                    .WithAlias(() => dto.subModuleCategoryId))
                .TransformUsing(Transformers.AliasToBean <SMICategoriesFromStoredProcedureExDTO>());
            var result =
                this.Repository.FindAll <SMICategoriesFromStoredProcedureExDTO>(queryOver)
                .ToList()
                .Select(x => new SMICategoriesFromStoredProcedureDTO(x))
                .ToList();

            return(result);
        }
Ejemplo n.º 10
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
            }));
        }
Ejemplo n.º 11
0
        public IEnumerable <AppletItem> GetByUser(int userId)
        {
            if (userId <= 0)
            {
                throw new ArgumentOutOfRangeException("userId");
            }

            AppletItem        ai  = null;
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            User u2        = null;
            var  queryOver =
                new DefaultQueryOver <AppletItem, int>().GetQueryOver(() => ai)
                .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.InnerJoin)
                .Where(() => smi.IsActive == true)
                .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin)
                .Where(() => smc.IsActive == true)
                .JoinQueryOver(() => smi.CreatedBy, () => u2, JoinType.LeftOuterJoin)
                .Where(() => u2.Id == userId);

            return(this.Repository.FindAll(queryOver).ToList());
        }
Ejemplo n.º 12
0
        /// <summary>
        /// The get quiz sub module items by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{SubModuleItemDTO}"/>.
        /// </returns>
        public IEnumerable <SubModuleItemDTO> GetQuizSubModuleItemsByUserId(int userId)
        {
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            Quiz q = null;
            SubModuleItemFromStoredProcedureDTO dto = null;
            var queryOver = new DefaultQueryOver <SubModuleItem, int>().GetQueryOver(() => smi)
                            .JoinQueryOver(x => x.SubModuleCategory, () => smc, JoinType.InnerJoin)
                            .JoinQueryOver(() => smi.Quizes, () => q, JoinType.LeftOuterJoin)
                            .Where(() => smi.CreatedBy.Id == userId && smc.User.Id == userId && q.Id != 0)
                            .SelectList(res =>
                                        res.Select(() => smi.IsActive)
                                        .WithAlias(() => dto.isActive)
                                        .Select(() => smi.DateModified)
                                        .WithAlias(() => dto.dateModified)
                                        .Select(() => smi.DateCreated)
                                        .WithAlias(() => dto.dateCreated)
                                        .Select(() => smi.ModifiedBy.Id)
                                        .WithAlias(() => dto.modifiedBy)
                                        .Select(() => smi.IsShared)
                                        .WithAlias(() => dto.isShared)
                                        .Select(() => smi.CreatedBy.Id)
                                        .WithAlias(() => dto.createdBy)
                                        .Select(() => smi.SubModuleCategory.Id)
                                        .WithAlias(() => dto.subModuleCategoryId)
                                        .Select(() => smc.SubModule.Id)
                                        .WithAlias(() => dto.subModuleId)
                                        .Select(() => smi.Id)
                                        .WithAlias(() => dto.subModuleItemId))
                            .TransformUsing(Transformers.AliasToBean <SubModuleItemFromStoredProcedureDTO>());
            var result = Repository.FindAll <SubModuleItemFromStoredProcedureDTO>(queryOver).ToList()
                         .Select(x => new SubModuleItemDTO(x))
                         .ToList();

            return(result);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// The get quizzes by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{QuizFromStoredProcedureDTO}"/>.
        /// </returns>
        public IEnumerable <TestFromStoredProcedureDTO> GetTestsByUserId(int userId)
        {
            TestFromStoredProcedureExDTO dto = null;
            Test              t   = null;
            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            User              u   = null;
            User              u2  = null;

            var queryOver = new DefaultQueryOver <Test, int>().GetQueryOver(() => t)
                            .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.InnerJoin).Where(() => smi.IsActive == true)
                            .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin).Where(() => smc.IsActive == true)
                            .JoinQueryOver(() => smc.User, () => u, JoinType.InnerJoin)
                            .JoinQueryOver(() => smi.CreatedBy, () => u2, JoinType.LeftOuterJoin)
                            .Where(() => u2.Id == userId)
                            .SelectList(res =>
                                        res.Select(() => t.ScoreFormat)
                                        .WithAlias(() => dto.scoreFormat)
                                        .Select(() => t.InstructionDescription)
                                        .WithAlias(() => dto.instructionDescription)
                                        .Select(() => t.InstructionTitle)
                                        .WithAlias(() => dto.instructionTitle)
                                        .Select(() => t.TimeLimit)
                                        .WithAlias(() => dto.timeLimit)
                                        .Select(() => t.PassingScore)
                                        .WithAlias(() => dto.passingScore)
                                        .Select(() => t.Description)
                                        .WithAlias(() => dto.description)
                                        .Select(() => t.TestName)
                                        .WithAlias(() => dto.testName)
                                        .Select(() => t.Id)
                                        .WithAlias(() => dto.testId)
                                        .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 <TestFromStoredProcedureExDTO>());

            var result =
                this.Repository.FindAll <TestFromStoredProcedureExDTO>(queryOver)
                .ToList()
                .Select(x => new TestFromStoredProcedureDTO(x));

            return(result);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// The get shared for user quizzes by user id.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <returns>
        /// The <see cref="IEnumerable{QuizFromStoredProcedureDTO}"/>.
        /// </returns>
        public IEnumerable <QuizFromStoredProcedureExDTO> GetSharedForUserQuizzesByUserId(int userId)
        {
            QueryOver <User, User> query =
                new DefaultQueryOver <User, int>().GetQueryOver()
                .Where(x => x.Id == userId)
                .Select(res => res.Company.Id);
            IFutureValue <int> id = this.userRepository.FindOne <int>(query);

            Quiz                         q         = null;
            SubModuleItem                smi       = null;
            SubModuleCategory            smc       = null;
            User                         u         = null;
            User                         u2        = null;
            QuizFromStoredProcedureExDTO dto       = null;
            QueryOver <Quiz, User>       queryOver =
                new DefaultQueryOver <Quiz, int>().GetQueryOver(() => q)
                .JoinQueryOver(x => x.SubModuleItem, () => smi, JoinType.InnerJoin)
                .Where(() => smi.IsActive == true && smi.IsShared == true && q.LmsQuizId == null)
                .JoinQueryOver(() => smi.SubModuleCategory, () => smc, JoinType.InnerJoin)
                .Where(() => smc.IsActive == true)
                .JoinQueryOver(() => smc.User, () => u, JoinType.InnerJoin)
                .JoinQueryOver(() => smi.CreatedBy, () => u2, JoinType.InnerJoin)
                .Where(() => u2.Id != userId && u2.Company.Id == id.Value && (int)u2.Status == 1)
                .SelectList(
                    res =>
                    res.Select(() => q.Description)
                    .WithAlias(() => dto.description)
                    .Select(() => q.QuizName)
                    .WithAlias(() => dto.quizName)
                    .Select(() => q.Id)
                    .WithAlias(() => dto.quizId)
                    .Select(() => u.LastName)
                    .WithAlias(() => dto.lastName)
                    .Select(() => u.FirstName)
                    .WithAlias(() => dto.firstName)
                    .Select(() => q.IsPostQuiz)
                    .WithAlias(() => dto.isPostQuiz)
                    .Select(() => q.PassingScore)
                    .WithAlias(() => dto.PassingScore)
                    .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 <QuizFromStoredProcedureExDTO>());
            List <QuizFromStoredProcedureExDTO> result =
                this.Repository.FindAll <QuizFromStoredProcedureExDTO>(queryOver).ToList();

            return(result);
        }