private List <ProfileQAModel> MatchQuesAndAns(IList <ProfileQuestionModel> questions, IList <ProfileAnswerModel> answers) { var result = new List <ProfileQAModel>(); foreach (var ques in questions) { ProfileQAModel qa = new ProfileQAModel(); qa.QuestionID = ques.QuestionID; qa.QuestionName = ques.QuestionName; qa.QuestionDescription = ques.QuestionDescription; qa.ProfileQuestionTypeName = ques.ProfileQuestionTypeName; qa.ProfileQuestionPriority = ques.ProfileQuestionPriority; qa.IsProfileQuestionActive = ques.IsProfileQuestionActive; qa.IsInLineProfileQuestion = ques.IsInLineProfileQuestion; var filteredAnswers = answers.Where(a => a.QuestionID == ques.QuestionID).OrderBy(a => a.ProfileAnswerDisplayOrder).ToList(); qa.Answers = new List <PAnswerModel>(); foreach (var ans in filteredAnswers) { var answer = new PAnswerModel(); answer.AnsID = ans.AnsID; answer.AnsName = ans.AnsName; answer.AnsDescription = ans.AnsDescription; answer.IsProfileAnswerActive = ans.IsProfileAnswerActive; answer.ProfileAnswerDisplayOrder = ans.ProfileAnswerDisplayOrder; qa.Answers.Add(answer); } result.Add(qa); } return(result); }
public IList <ProfileQAModel> GetAllProfileQAs(int memberId) { var profQAs = new List <ProfileQAModel>(); var questions = GetAllProfileQuestions(); var answers = GetAllProfileAnswers(); profQAs = MatchQuesAndAns(questions, answers); ProfileQAModel res = new ProfileQAModel(); res.Responses = GetProfileResponses(memberId); profQAs.Add(res); return(profQAs); }