Ejemplo n.º 1
0
        /// <summary>
        /// user answer quote quiz
        /// </summary>
        /// <param name="userQuiz"></param>
        /// <returns></returns>
        public async Task AnswerOnQuoteQuiz(Data.ServiceModels.UserAnsweredQuoteQuiz userQuiz)
        {
            try
            {
                if (userQuiz.AnswerId != null)
                {
                    try
                    {
                        await quoteAnswer.SingleAsync(x => x.QuoteId == userQuiz.QuoteId && x.Id == userQuiz.AnswerId);
                    }
                    catch (InvalidOperationException iox)
                    {
                        throw new FqqException(FqqExceptionCode.WrongAnswer, false, iox);
                    }
                }

                var dbModel = new UserAnsweredQuote
                {
                    UserId        = userQuiz.UserId,
                    QuoteId       = userQuiz.QuoteId,
                    QuoteAnswerId = userQuiz.AnswerId,
                    BinaryAnswer  = userQuiz.BinaryAnswer
                };

                await userAnsweredQoute.AddAsync(dbModel);

                await userAnsweredQoute.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new FqqException(FqqExceptionCode.GeneralError, "Error when inserting user answer", true, ex);
            }
        }
 public async Task AddAsync(UserAnsweredQuote answeredQuote)
 {
     _context.UserAnsweredQuotes.Add(answeredQuote);
     await _context.SaveChangesAsync();
 }