Exemplo n.º 1
0
        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);
        }