public virtual void Update(YesNoNotApplicableEnum? newAnswer, string additionalInfo, UserForAuditing user) { if (!IsAnswerDifferent(newAnswer, additionalInfo)) return; if (newAnswer != YesNoNotApplicableEnum.No) { if (SignificantFinding != null) { SignificantFinding.MarkForDelete(user); } } else if (newAnswer == YesNoNotApplicableEnum.No) { if (SignificantFinding == null) { SignificantFinding = SignificantFinding.Create(this, user); } else { SignificantFinding.ReinstateFromDelete(user); } } YesNoNotApplicableResponse = newAnswer; AdditionalInfo = additionalInfo; SetLastModifiedDetails(user); }
public static FireAnswer Create( FireRiskAssessmentChecklist fireRiskAssessmentChecklist, Question question, YesNoNotApplicableEnum? yesNoNotApplicableResponse, string additionalInfo, UserForAuditing user) { var fireAnswer = new FireAnswer { FireRiskAssessmentChecklist = fireRiskAssessmentChecklist, Question = question, YesNoNotApplicableResponse = yesNoNotApplicableResponse, AdditionalInfo = additionalInfo, CreatedOn = DateTime.Now, CreatedBy = user }; if (yesNoNotApplicableResponse == YesNoNotApplicableEnum.No) { var significantFinding = SignificantFinding.Create(fireAnswer, user); fireAnswer.SignificantFinding = significantFinding; } return fireAnswer; }
private bool IsAnswerDifferent(YesNoNotApplicableEnum? newAnswer, string additionalInfo) { return YesNoNotApplicableResponse != newAnswer || AdditionalInfo != additionalInfo; }