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