/// <summary> /// /// </summary> /// <param name="surveyId"></param> /// <param name="viewType"></param> /// <returns></returns> public async Task <Survey> GetSurveyFullAsync(int surveyId, SurveyViewType viewType) { string viewName = viewType == SurveyViewType.RespondentView ? "Standard" : "CATI"; var result = await _appContext.Surveys.Where(s => s.Id == surveyId) .Include(s => s.TitleLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.WelcomePageLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.TermsAndConditionsLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.ThankYouPageLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.ScreeningQuestionLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.Labels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.Labels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionConfigurations).ThenInclude(qc => qc.QuestionConfigurationLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionOptions).ThenInclude(qo => qo.QuestionOptionLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.Labels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionConditionalsSource) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionConditionalsTarget) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionOptionConditionalsSource) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionConditionalsSource) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionConditionalsTarget) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionOptionConditionalsSource) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionConfigurations).ThenInclude(qc => qc.QuestionConfigurationLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.QuestionPartViews).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q => q.QuestionPartViewChildren).ThenInclude(q2 => q2.QuestionPart).ThenInclude(qp => qp.QuestionOptions).ThenInclude(qo => qo.QuestionOptionLabels) .Where(s => s.SurveyViews.Any(s2 => s2.ViewName == viewName)) .SingleOrDefaultAsync(); return(result); }
public async Task <IActionResult> GetSurveyViewPages(int surveyId, [FromQuery] SurveyViewType viewType = SurveyViewType.RespondentView, [FromQuery] string language = "en") { List <QuestionPartView> pages = await this._viewService.GetSurveyViewPages(surveyId, viewType); var localizedModel = pages.ToLocalizedModel <List <SurveyViewPageViewModel>, QuestionPartView> (language); return(new ObjectResult(localizedModel)); }
public async Task <IActionResult> GetSurveyThankYou(int surveyId, SurveyViewType viewType = SurveyViewType.RespondentView, string language = null) { var result = await this._viewService.GetSurveyThankYouText(surveyId, language, viewType); if (result == null) { return(new NotFoundResult()); } return(new ObjectResult(result)); }
/// <summary> /// /// </summary> /// <param name="surveyId"></param> /// <param name="viewType"></param> /// <returns></returns> public async Task <Survey> GetSurveyWithLabelsAsync(int surveyId, SurveyViewType viewType) { string viewName = viewType == SurveyViewType.RespondentView ? "Standard" : "CATI"; var result = await _appContext.Surveys.Where(s => s.Id == surveyId) .Include(s => s.TitleLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.WelcomePageLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.TermsAndConditionsLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.ThankYouPageLabels) .Include(s => s.SurveyViews).ThenInclude(v => v.ScreeningQuestionLabels).Where(s => s.SurveyViews.Any(s2 => s2.ViewName == viewName)) .SingleOrDefaultAsync(); return(result); }
public async Task <IActionResult> GetSurveyViewPageQuestions(int surveyId, int pageNumber, SurveyViewType viewType, string language = "en") { var result = await this._viewService.GetSurveyViewPageQuestions(surveyId, viewType, pageNumber); if (result == null) { return(new NotFoundResult()); } return(new ObjectResult(result.ToLocalizedModel <SurveyViewPageViewModel> ("en"))); }
/// <summary> /// /// </summary> /// <param name="typeKey"></param> public T this[SurveyViewType typeKey] { get { if (typeKey == SurveyViewType.RespondentView) { return(base[0]); } else { return(base[1]); } } }
/// <summary> /// Returns ths Thank You text for the specified survey id of the chosen language /// </summary> /// <param name="surveyId"></param> /// <param name="language"></param> /// <param name="viewType"></param> /// <returns></returns> public async Task <SurveyViewThankYouViewModel> GetSurveyThankYouText(int surveyId, string language = null, SurveyViewType viewType = SurveyViewType.CatiView) { string viewName = viewType == SurveyViewType.RespondentView ? "Standard" : "CATI"; var surveyThankYou = await this._unitOfWork.ThankYouPageLabels.GetThankYouPageLabelAsync(surveyId, viewName, language); return(Mapper.Map <SurveyViewThankYouViewModel> (surveyThankYou)); }
/// <summary> /// Returns the Terms and Conditions text for the specified survey id of the chosen language /// </summary> /// <param name="surveyId"></param> /// <returns></returns> public async Task <SurveyViewTermsAndConditionsViewModel> GetSurveyTermsAndConditionsText(int surveyId, string language = null, SurveyViewType viewType = SurveyViewType.RespondentView) { Survey survey = await this._unitOfWork.Surveys.GetSurveyFullAsync(surveyId, viewType); if (viewType == SurveyViewType.RespondentView && survey.SurveyViews.Count > 0) { var s2 = (survey.SurveyViews as List <SurveyView>); return((survey.SurveyViews as List <SurveyView>) [0] .ToLocalizedModel <SurveyViewTermsAndConditionsViewModel> (language)); } else { return((survey.SurveyViews as List <SurveyView>) [0] .ToLocalizedModel <SurveyViewTermsAndConditionsViewModel> (language)); } }