Example #1
0
        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;
            }
        }
Example #2
0
        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;
            }
        }