Beispiel #1
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 <TestFromStoredProcedureDTO> GetSharedForUserTestsByUserId(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);

            SubModuleItem     smi = null;
            SubModuleCategory smc = null;
            Test t  = null;
            User u  = null;
            User u2 = null;
            TestFromStoredProcedureExDTO dto = null;
            var qieryOver = new DefaultQueryOver <Test, int>().GetQueryOver(() => t)
                            .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).Where(() => (int)u2.Status == 1)
                            .Where(() => u2.Id != userId && u2.Company.Id == id.Value)
                            .SelectList(res =>
                                        res.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 =
                Repository.FindAll <TestFromStoredProcedureExDTO>(qieryOver)
                .ToList()
                .Select(x => new TestFromStoredProcedureDTO(x));

            return(result);
        }
Beispiel #2
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);
        }