public async Task <bool> SaveAnswer(Model.Input.Answer answer) { var checkSurvey = await GetSurvey(answer.SurveyId); if (checkSurvey == null) { return(false); } if (!checkSurvey.Questions.Any(q => q.QuestionId == answer.QuestionId)) { return(false); } var answerEntity = new Entity.Survey.SurveyQuestionAnswer { SurveyId = answer.SurveyId, QuestionId = answer.QuestionId, Answer = answer.AnswerValue.Value }; var result = await _repository.SaveSurveyQuestionAnswer(answerEntity); return(result); }
public async Task <bool> SaveSurveyQuestionAnswer(Entity.Survey.SurveyQuestionAnswer surveyQuestionAnswer) { await Task.Run(() => { SurveyQuestionAnswerData.TryGetValue(surveyQuestionAnswer.SurveyId, out Lazy <List <Entity.Survey.SurveyQuestionAnswer> > savedAnswer); if (savedAnswer == null) { var newAnswerCollection = new Lazy <List <Entity.Survey.SurveyQuestionAnswer> >(); newAnswerCollection.Value.Add(surveyQuestionAnswer); SurveyQuestionAnswerData.TryAdd(surveyQuestionAnswer.SurveyId, newAnswerCollection); } else { savedAnswer.Value.Add(surveyQuestionAnswer); } }); return(true); }