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); } } }