Esempio n. 1
0
        /// <summary>
        /// Get the question's answers.
        /// </summary>
        /// <param name="id">The question id.</param>
        /// <returns>The list of question's answers.</returns>
        private async Task <List <DisplayAnswerModel> > GetQuestionAnswers(string id)
        {
            // Database related helpers
            LinkQuestionAnswerData linkQuestionAnswerData = new LinkQuestionAnswerData(_db);
            AnswerData             answerData             = new AnswerData(_db);

            // Get question's answers
            List <DataLinkQuestionAnswerModel> dataLinkQuestionAnswerModels = await linkQuestionAnswerData.GetLinkedAnswers(id);

            // Build the display object answers
            List <DisplayAnswerModel> displayAnswerModels = new List <DisplayAnswerModel>();

            foreach (var dataLinkQuestionAnswerModel in dataLinkQuestionAnswerModels)
            {
                DataAnswerModel dataAnswerModel = await answerData.GetAnswerById(dataLinkQuestionAnswerModel.AnswerId).ContinueWith((x) => { return(x.Result[0]); });

                displayAnswerModels.Add(new DisplayAnswerModel
                {
                    Answer       = dataAnswerModel.Answer,
                    Id           = dataAnswerModel.Id,
                    PlayerAnswer = dataAnswerModel.PlayerAnswer,
                    Type         = dataAnswerModel.Type,
                });
            }

            return(displayAnswerModels);
        }
Esempio n. 2
0
        /// <summary>
        /// Deletes the answer.
        /// </summary>
        /// <param name="id">The answer's id.</param>
        /// <returns>Refresh the page.</returns>
        public async Task <IActionResult> OnPostDeleteAsync(int id)
        {
            AnswerData      answerData     = new AnswerData(_db);
            DataAnswerModel newAnswerModel = new DataAnswerModel
            {
                Answer       = DisplayAnswer.Answer,
                Id           = DisplayAnswer.Id,
                PlayerAnswer = DisplayAnswer.PlayerAnswer,
                Type         = DisplayAnswer.Type,
            };

            await answerData.DeleteAnswer(newAnswerModel);

            return(RedirectToPage("./answer"));
        }
Esempio n. 3
0
        /// <summary>
        /// Inserts a new answer.
        /// </summary>
        /// <returns>Refresh the page.</returns>
        public async Task <IActionResult> OnPost()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            AnswerData      answerData     = new AnswerData(_db);
            DataAnswerModel newAnswerModel = new DataAnswerModel
            {
                Answer       = DisplayAnswer.Answer,
                Id           = DisplayAnswer.Id,
                PlayerAnswer = DisplayAnswer.PlayerAnswer,
                Type         = DisplayAnswer.Type,
            };

            await answerData.InsertAnswer(newAnswerModel);

            return(RedirectToPage("./answer"));
        }
Esempio n. 4
0
        public Task DeleteAnswer(DataAnswerModel domainModel)
        {
            string sql = @"delete from answer where id=@Id;";

            return(_db.SaveData(sql, domainModel));
        }
Esempio n. 5
0
        public Task InsertAnswer(DataAnswerModel domainModel)
        {
            string sql = @"insert into answer (answer, type) values(@Answer, @Type);";

            return(_db.SaveData(sql, domainModel));
        }