Exemple #1
0
        public void UpdateQuestionGeneric(FormViewModel _formViewModel, List <QuestionCreateViewModel> _listQuestionCreateViewModel)
        {
            FormViewModel formViewModel = _formViewModel;
            List <QuestionCreateViewModel> listQuestionCreateViewModel = _listQuestionCreateViewModel;

            foreach (var questionCreateViewModel in listQuestionCreateViewModel)
            {
                ElementViewModel elementViewModel = new ElementViewModel
                {
                    Name        = questionCreateViewModel.ElementViewModel.Name,
                    Description = questionCreateViewModel.ElementViewModel.Description
                };
                // elementBL.Create(elementViewModel); // ???

                QuestionViewModel questionViewModel = new QuestionViewModel
                {
                    Name      = questionCreateViewModel.QuestionViewModel.Name,
                    FormId    = formBL.GetId(formViewModel),
                    ElementId = elementBL.GetId(elementViewModel)
                };
                questionBL.Update(questionViewModel);
                int questionId = questionBL.GetId(questionViewModel);

                foreach (var answerViewModel in questionCreateViewModel.AnswerViewModel)
                {
                    AnswerViewModel answerVM = new AnswerViewModel
                    {
                        Name       = answerViewModel.Name,
                        QuestionId = questionId
                    };
                    answerBL.Update(answerVM);
                }

                foreach (var attributeViewModel in questionCreateViewModel.AttributeViewModel)
                {
                    attributeVM = new AttributeViewModel
                    {
                        Name        = attributeViewModel.Name,
                        DisplayName = attributeViewModel.DisplayName,
                        QuestionId  = questionId
                    };
                    attributeBL.Update(attributeVM);
                }

                foreach (var attributeResultViewModel in questionCreateViewModel.AttributeResultViewModel)
                {
                    AttributeResultViewModel attributeResult = new AttributeResultViewModel
                    {
                        Value       = attributeResultViewModel.Value,
                        AttributeId = attributeBL.GetId(attributeVM)
                    };
                    attributeResultBL.Update(attributeResult);
                }
            }
        }