Esempio n. 1
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);
        }
Esempio n. 2
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);
        }