/// <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); }
/// <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); }