public Profiling_Answer CreateProfilingAnswer(int profilingInstanceId, int questionnaireQuestionId, int questionnaireColumnId, int?householdMemberId, string answerValue, string createdBy, DateTime createdDate, string modifiedBy, DateTime?dateLastModified) { Profiling_Answer newProfilingAnswer; var dbContext = new SDIIS_DatabaseEntities(); var profilingAnswer = new Profiling_Answer() { Profiling_Instance_Id = profilingInstanceId, Questionnaire_Question_Id = questionnaireQuestionId, Questionnaire_Question_Column_Id = questionnaireColumnId, Household_Member_Number = householdMemberId, Answer_Value = answerValue, Created_By = createdBy, Date_Created = createdDate, Modified_By = modifiedBy, Date_Last_Modified = dateLastModified }; try { newProfilingAnswer = dbContext.Profiling_Answers.Add(profilingAnswer); dbContext.SaveChanges(); } catch (Exception ex) { var exMsg = ex.Message; return(null); } return(newProfilingAnswer); }
public Profiling_Answer SaveProfilingAnswer(int questionnaireQuestionId, int questionnaireColumnId, int profilingInstanceId, int?householdMemberNumber, string answerValue, string userName) { var dbContext = new SDIIS_DatabaseEntities(); var profilingAnswer = new Profiling_Answer() { Questionnaire_Question_Id = questionnaireQuestionId, Questionnaire_Question_Column_Id = questionnaireColumnId, Profiling_Instance_Id = profilingInstanceId, Household_Member_Number = householdMemberNumber, Answer_Value = answerValue }; try { // Does this question answer already exist in the database? var existingQuestions = (from x in dbContext.Profiling_Answers where x.Questionnaire_Question_Id.Equals(questionnaireQuestionId) where x.Questionnaire_Question_Column_Id.Equals(questionnaireColumnId) where x.Profiling_Instance_Id.Equals(profilingInstanceId) select x).ToList(); if (householdMemberNumber != null) { existingQuestions.RemoveAll(x => x.Household_Member_Number != householdMemberNumber); } if (existingQuestions.Count == 0) { // Answer does not exist, add it profilingAnswer.Created_By = userName; profilingAnswer.Date_Created = DateTime.Now; var newProfilingAnswer = dbContext.Profiling_Answers.Add(profilingAnswer); dbContext.SaveChanges(); return(newProfilingAnswer); } else if (existingQuestions.Count == 1) { var updateAnswerId = existingQuestions.First().Profiling_Answer_Id; var editQuestion = (from x in dbContext.Profiling_Answers where x.Profiling_Answer_Id.Equals(updateAnswerId) select x).First(); editQuestion.Modified_By = userName; editQuestion.Date_Last_Modified = DateTime.Now; editQuestion.Answer_Value = answerValue; dbContext.SaveChanges(); return(editQuestion); } return(null); } catch (Exception ex) { return(null); } }