public async Task Update(string id, QuestionnaireDTO model, string username) { if (string.IsNullOrEmpty(id) || model == null) { throw new AppException("Bad Request, Invalid Model or ID"); } var questionnaire = _questionnaireRepository.Get(x => x.ID == id); if (questionnaire == null) { throw new AppException("No Entity Found For Update"); } var questionnaireDetail = await _questionnaireRepository.GetQuestionnaireDetail(questionnaire.ID); questionnaire.Question = model.Question; questionnaire.SubjectCode = model.SubjectCode; questionnaire.Answer = model.Answer; questionnaire.IsMock = model.IsMock; questionnaire.UpdatedBy = username; questionnaire.UpdatedDate = DateTime.Now; _questionnaireRepository.AddOrUpdate(questionnaire); if (questionnaireDetail != null) { questionnaireDetail.Option1 = model.Option1; questionnaireDetail.Option2 = model.Option2; questionnaireDetail.Option3 = model.Option3; questionnaireDetail.Option4 = model.Option4; questionnaireDetail.Explanation = model.Explanation; await _questionnaireRepository.UpdateQuestionnaireDetail(questionnaireDetail); } _unitOfWork.Commit(); }