public bool SaveQuestionGroup(QuestionGroupItemEntity questionGroupItemEntity) { _context.Configuration.AutoDetectChangesEnabled = false; try { TB_M_QUESTIONGROUP questionGroup; if (!questionGroupItemEntity.QuestionGroupId.HasValue) { //save questionGroup = new TB_M_QUESTIONGROUP(); questionGroup.QUESTIONGROUP_NAME = questionGroupItemEntity.QuestionGroupName; questionGroup.QUESTIONGROUP_IS_ACTIVE = questionGroupItemEntity.Status; questionGroup.PRODUCT_ID = questionGroupItemEntity.QuestionGroupProductId; questionGroup.CREATE_USER = questionGroupItemEntity.UserId; questionGroup.CREATE_DATE = DateTime.Now; questionGroup.UPDATE_USER = questionGroupItemEntity.UserId; questionGroup.UPDATE_DATE = DateTime.Now; _context.TB_M_QUESTIONGROUP.Add(questionGroup); Save(); } else { //save questionGroup = new TB_M_QUESTIONGROUP(); questionGroup.QUESTIONGROUP_NAME = questionGroupItemEntity.QuestionGroupName; questionGroup.QUESTIONGROUP_IS_ACTIVE = questionGroupItemEntity.Status; questionGroup.PRODUCT_ID = questionGroupItemEntity.QuestionGroupProductId; questionGroup.UPDATE_USER = questionGroupItemEntity.UserId; questionGroup.UPDATE_DATE = DateTime.Now; questionGroup.QUESTIONGROUP_ID = (int)questionGroupItemEntity.QuestionGroupId; SetEntryStateModified(questionGroup); Save(); } return(true); } catch (Exception ex) { Logger.Error("Exception occur:\n", ex); return(false); } finally { _context.Configuration.AutoDetectChangesEnabled = true; } }
public bool SaveQuestionGroup(QuestionGroupItemEntity questionGroupItemEntity, string idQuestions) { _context.Configuration.AutoDetectChangesEnabled = false; try { var isEdit = questionGroupItemEntity.QuestionGroupId.HasValue; TB_M_QUESTIONGROUP questionGroup; if (!isEdit) { //add questionGroup = new TB_M_QUESTIONGROUP(); } else { questionGroup = _context.TB_M_QUESTIONGROUP.SingleOrDefault(a => a.QUESTIONGROUP_ID == questionGroupItemEntity.QuestionGroupId.Value); if (questionGroup == null) { Logger.ErrorFormat("QUESITON GROUP ID: {0} does not exist", questionGroupItemEntity.QuestionGroupId); return(false); } } questionGroup.QUESTIONGROUP_NAME = questionGroupItemEntity.QuestionGroupName; questionGroup.PRODUCT_ID = questionGroupItemEntity.QuestionGroupProductId; questionGroup.QUESTIONGROUP_IS_ACTIVE = questionGroupItemEntity.Status; questionGroup.QUESTIONGROUP_DESC = questionGroupItemEntity.Description; questionGroup.UPDATE_USER = questionGroupItemEntity.UserId; questionGroup.UPDATE_DATE = DateTime.Now; if (!isEdit) { questionGroup.CREATE_USER = questionGroupItemEntity.UserId; questionGroup.CREATE_DATE = DateTime.Now; _context.TB_M_QUESTIONGROUP.Add(questionGroup); this.Save(); //save area_subarea if (!string.IsNullOrEmpty(idQuestions)) { string[] idQuestionsArray = idQuestions.Split(','); int i = 1; foreach (var idQuestion in idQuestionsArray) { var questionGroupQuestion = new TB_M_QUESTIONGROUP_QUESTION(); questionGroupQuestion.QUESTIONGROUP_ID = questionGroup.QUESTIONGROUP_ID; questionGroupQuestion.QUESTION_ID = Convert.ToInt32(idQuestion, CultureInfo.InvariantCulture); questionGroupQuestion.SEQ_NO = i; _context.TB_M_QUESTIONGROUP_QUESTION.Add(questionGroupQuestion); Save(); i++; } } } else { SetEntryStateModified(questionGroup); //delete var questionGroupQuestionList = _context.TB_M_QUESTIONGROUP_QUESTION.Where(a => a.QUESTIONGROUP_ID == questionGroupItemEntity.QuestionGroupId); foreach (var questionGroupQuestionItem in questionGroupQuestionList) { _context.TB_M_QUESTIONGROUP_QUESTION.Remove(questionGroupQuestionItem); } Save(); //update if (!string.IsNullOrEmpty(idQuestions)) { string[] idQuestionsArray = idQuestions.Split(','); int i = 1; foreach (var idQuestion in idQuestionsArray) { var questionGroupQuestion = new TB_M_QUESTIONGROUP_QUESTION(); questionGroupQuestion.QUESTIONGROUP_ID = questionGroup.QUESTIONGROUP_ID; questionGroupQuestion.QUESTION_ID = Convert.ToInt32(idQuestion, CultureInfo.InvariantCulture); questionGroupQuestion.SEQ_NO = i; _context.TB_M_QUESTIONGROUP_QUESTION.Add(questionGroupQuestion); Save(); i++; } } } Save(); return(true); } catch (Exception ex) { Logger.Error("Exception occur:\n", ex); return(false); } finally { _context.Configuration.AutoDetectChangesEnabled = true; } }