Ejemplo n.º 1
0
        private void SaveRadioQuestion(RadioQuestionModel data)
        {
            Guid          optionGroupId = _optionGroupService.AddAsync(optionGroupDefinitions.radio).Result;
            InputTypesDto type          = inputTypeList.Where(item => item.Name == data.ControlType).FirstOrDefault();
            var           questionId    = SaveQuestion(data, false, optionGroupId, type.Id, null).Result;

            if (data.Options.Count() > 0)
            {
                _optionChoiceService.AddRange(optionGroupId, data.Options);
            }

            if (data.IsAdditionalAnswer)
            {
                ItemModel item = new ItemModel()
                {
                    IsAdditionalChoise = true,
                    Value = "Additional answer radio"
                };
                var excistAdditional = _optionChoiceService.GetListByOptionGroup(optionGroupId).Result.Where(x => x.IsAdditionalChoise == true).FirstOrDefault();
                if (excistAdditional == null)
                {
                    _optionChoiceService.AddAsync(optionGroupId, item, true);
                }
            }
        }
Ejemplo n.º 2
0
        public BaseQuestionModel GetQuestionByType(string baseQuestion)
        {
            BaseQuestionModel baseQuestionM = JsonConvert.DeserializeObject <BaseQuestionModel>(baseQuestion);

            if (Enum.TryParse(baseQuestionM.ControlType.ToString(), out type))
            {
                switch (type)
                {
                case QuestionTypes.Textbox:
                {
                    TextQuestionModel question = JsonConvert.DeserializeObject <TextQuestionModel>(baseQuestion);
                    baseQuestionM = question as BaseQuestionModel;
                    break;
                }

                case QuestionTypes.Textarea:
                {
                    TextAreaQuestionModel question = JsonConvert.DeserializeObject <TextAreaQuestionModel>(baseQuestion);
                    baseQuestionM = question as BaseQuestionModel;
                    break;
                }

                case QuestionTypes.Radio:
                {
                    RadioQuestionModel question = JsonConvert.DeserializeObject <RadioQuestionModel>(baseQuestion);
                    baseQuestionM = question as BaseQuestionModel;
                    break;
                }

                case QuestionTypes.Checkbox:
                {
                    CheckBoxQuesstionModel question = JsonConvert.DeserializeObject <CheckBoxQuesstionModel>(baseQuestion);
                    baseQuestionM = question as BaseQuestionModel;
                    break;
                }

                case QuestionTypes.Dropdown:
                {
                    DropdownQuestionModel question = JsonConvert.DeserializeObject <DropdownQuestionModel>(baseQuestion);
                    baseQuestionM = question as BaseQuestionModel;
                    break;
                }

                case QuestionTypes.GridRadio:
                {
                    GridRadioQuestionModel question = JsonConvert.DeserializeObject <GridRadioQuestionModel>(baseQuestion);
                    baseQuestionM = question as BaseQuestionModel;

                    break;
                }
                }
            }
            return(baseQuestionM);
        }
Ejemplo n.º 3
0
        private BaseQuestionModel GetRadioQuestion(QuestionsDto questionDto, string type)
        {
            var options = _optionChoiceService.GetListByOptionGroup(questionDto.OptionGroupId).Result;
            RadioQuestionModel radioQuestion = new RadioQuestionModel()
            {
                Id                 = questionDto.Id.ToString(),
                Text               = questionDto.Name,
                Order              = questionDto.OrderNo,
                ControlType        = type,
                Description        = questionDto.Description,
                IsAdditionalAnswer = questionDto.AdditionalAnswer,
                Required           = questionDto.Required,
                Options            = options
            };

            return(radioQuestion as BaseQuestionModel);
        }
Ejemplo n.º 4
0
        private void UpdateRadioQuestion(RadioQuestionModel data)
        {
            var question = GetQuestionById(Guid.Parse(data.Id));

            question.Name             = data.Text;
            question.Description      = data.Description;
            question.Required         = data.Required;
            question.OrderNo          = data.Order;
            question.AdditionalAnswer = data.IsAdditionalAnswer;
            UpdateQuestion(question);
            var optionChoiseList = _optionChoiceService.GetListByOptionGroupId(question.OptionGroupId).Result;

            foreach (var item in optionChoiseList)
            {
                var result = data.Options.Find(x => x.Id == item.Id.ToString());
                if (result != null)
                {
                    item.Name = result.Value;
                    _optionChoiceService.UpdateOptionChoise(item);
                    data.Options.Remove(result); // Delete an item from updated option list to getting the only new options
                }
                else
                {
                    DeleteOptionChoises(item.Id);

                    _optionChoiceService.DeleteOptionChoise(item);
                }
            }

            if (data.IsAdditionalAnswer)
            {
                ItemModel item = new ItemModel()
                {
                    IsAdditionalChoise = true,
                    Value = "Additional answer radio"
                };
                var excistAdditional = _optionChoiceService.GetListByOptionGroup(question.OptionGroupId, true).Result.Where(x => x.IsAdditionalChoise == true).FirstOrDefault();
                if (excistAdditional == null)
                {
                    data.Options.Add(item);
                }
            }
            _optionChoiceService.AddRange(question.OptionGroupId.Value, data.Options);
        }