예제 #1
0
        public async Task <DbGrammarExercise> EditGrammarExerciseAsync(DbGrammarExercise grammarExercise)
        {
            var oldExercise = await _context.GrammarExercises
                              .Where(e => e.Id == grammarExercise.Id)
                              .SingleOrDefaultAsync();

            if (oldExercise == null)
            {
                return(null);
            }

            if (oldExercise.Question != grammarExercise.Question)
            {
                oldExercise.Question = grammarExercise.Question;
            }
            if (oldExercise.CorrectAnswer != grammarExercise.CorrectAnswer)
            {
                oldExercise.CorrectAnswer = grammarExercise.CorrectAnswer;
            }
            if (oldExercise.RuleId != grammarExercise.RuleId)
            {
                oldExercise.RuleId = grammarExercise.RuleId;
            }
            if (oldExercise.WrongAnswer1 != grammarExercise.WrongAnswer1)
            {
                oldExercise.WrongAnswer1 = grammarExercise.WrongAnswer1;
            }
            if (oldExercise.WrongAnswer2 != grammarExercise.WrongAnswer2)
            {
                oldExercise.WrongAnswer2 = grammarExercise.WrongAnswer2;
            }
            if (oldExercise.WrongAnswer3 != grammarExercise.WrongAnswer3)
            {
                oldExercise.WrongAnswer3 = grammarExercise.WrongAnswer3;
            }

            try
            {
                _context.GrammarExercises.Update(oldExercise);
                await _context.SaveChangesAsync();
            }
            catch (Exception)
            {
                return(null);
            }

            return(grammarExercise);
        }
예제 #2
0
        public async Task <DbGrammarExercise> CreateGrammarExerciseAsync(DbGrammarExercise grammarExercise)
        {
            if (grammarExercise == null || grammarExercise.Id != 0)
            {
                return(null);
            }

            var test = await _context.Tests
                       .Where(t => t.Id == grammarExercise.TestId)
                       .SingleOrDefaultAsync();

            test.NumberOfQuestions++;
            _context.GrammarExercises.Add(grammarExercise);
            await _context.SaveChangesAsync();

            return(grammarExercise);
        }