public IHttpActionResult AddSurveyAnswers(List <SurveyUserAnswer> answers) { var guid = Guid.NewGuid(); var multiSelectAnswers = new List <SurveyUserAnswer>(); answers.ForEach(a => { a.RecordId = guid; if (a.SelectedAnswerIds != null) { if (a.SelectedAnswerIds.Count() > 1) { multiSelectAnswers.AddRange(a.SelectedAnswerIds.Select(id => new SurveyUserAnswer { QuestionId = a.QuestionId, SelectedAnswerId = id, UserId = a.UserId, RecordId = guid })); } if (a.SelectedAnswerIds.Count() == 1) { a.SelectedAnswerId = a.SelectedAnswerIds[0]; } } }); answers.AddRange(multiSelectAnswers); _notificationMessageService.AddUserAnswers(answers); _unitOfWorkAsync.SaveChanges(); return(Ok()); }