/// <summary> /// Constructor for building a new object with MinimalConstructor required fields, using objects whenever possible /// </summary> public ProjectAssessmentQuestion(Project project, AssessmentQuestion assessmentQuestion) : this() { // Mark this as a new object by setting primary key with special value this.ProjectAssessmentQuestionID = ModelObjectHelpers.MakeNextUnsavedPrimaryKeyValue(); this.ProjectID = project.ProjectID; this.Project = project; project.ProjectAssessmentQuestions.Add(this); this.AssessmentQuestionID = assessmentQuestion.AssessmentQuestionID; this.AssessmentQuestion = assessmentQuestion; assessmentQuestion.ProjectAssessmentQuestions.Add(this); }
public static FancyTreeNode ToFancyTreeNode(this AssessmentQuestion assessmentQuestion, List <IQuestionAnswer> projectAssessmentQuestions) { var projectAssessmentQuestion = projectAssessmentQuestions != null && projectAssessmentQuestions.Any() ? projectAssessmentQuestions.SingleOrDefault(x => x.AssessmentQuestionID == assessmentQuestion.AssessmentQuestionID) : null; var answer = projectAssessmentQuestion?.Answer; var fancyTreeNode = new FancyTreeNode(assessmentQuestion.AssessmentQuestionText, assessmentQuestion.AssessmentQuestionID.ToString(), false) { Answer = answer.HasValue ? answer.ToYesNo() : ViewUtilities.NoAnswerProvided }; return(fancyTreeNode); }
public static string GetEditUrl(this AssessmentQuestion assessmentQuestion) { return(SitkaRoute <AssessmentController> .BuildUrlFromExpression(c => c.EditQuestion(assessmentQuestion.AssessmentQuestionID))); }
/// <summary> /// Creates a "blank" object of this type and populates primitives with defaults /// </summary> public static ProjectAssessmentQuestion CreateNewBlank(Project project, AssessmentQuestion assessmentQuestion) { return(new ProjectAssessmentQuestion(project, assessmentQuestion)); }