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); }
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); }