public int DeleteQuestions(QuestionModel question) { while (this.isUpdated) { } this.isUpdated = true; using (var context = new quizEntities()) { var questionToRemove = context.Questions.SingleOrDefault(q => q.Id == question.IdDB); context.Questions.Remove(questionToRemove); var answersToRemove = context.Answers.Where(a => a.Id_Quest == question.IdDB).Select(a => a).ToList(); foreach (Answers a in answersToRemove) { context.Answers.Remove(a); } var linksToRemove = context.Table2.Where(l => l.IdQuest == question.IdDB).Select(l => l).ToList(); foreach (Table2 l in linksToRemove) { context.Table2.Remove(l); } context.SaveChanges(); } this.isUpdated = false; return(0); }
public int DeleteTest(TestModel test) { this.isUpdated = true; using (var context = new quizEntities()) { var testToRemove = context.Tests.SingleOrDefault(t => t.Id == test.IdDB); context.Tests.Remove(testToRemove); var linksToRemove = context.Table2.Where(l => l.IdTest == test.IdDB).Select(l => l).ToList(); foreach (Table2 l in linksToRemove) { context.Table2.Remove(l); } context.SaveChanges(); } this.isUpdated = false; return(0); }
public int UpdateQuestions(QuestionModel question) { while (this.isUpdated) { } this.isUpdated = true; int max_a; int max_q; if (question.IdDB == -1) { using (var context = new quizEntities()) { try { max_q = context.Questions.Max(l => l.Id); max_q++; } catch (System.InvalidOperationException) { max_q = 1; } var questionRow = new Questions() { Id = max_q, QuestionText = question.QuestionText.Trim() }; context.Questions.Add(questionRow); context.SaveChanges(); foreach (AnswerModel a in question.Answers) { try { max_a = context.Answers.Max(l => l.Id); max_a++; } catch (System.InvalidOperationException) { max_a = 1; } int correct; if (a.Correct == true) { correct = 1; } else { correct = 0; } var answerRow = new Answers() { Id = max_a, Id_Quest = questionRow.Id, Correct = correct, textAnswer = a.Answer, }; context.Answers.Add(answerRow); context.SaveChanges(); } } } else { using (var context = new quizEntities()) { var existingQuestion = context.Questions.SingleOrDefault(q => q.Id == question.IdDB); existingQuestion.QuestionText = question.QuestionText.Trim(); context.SaveChanges(); var answersToRemove = context.Answers.Where(a => a.Id_Quest == question.IdDB).Select(a => a).ToList(); foreach (Answers a in answersToRemove) { context.Answers.Remove(a); } context.SaveChanges(); foreach (AnswerModel a in question.Answers) { try { max_a = context.Answers.Max(l => l.Id); max_a++; } catch (System.InvalidOperationException) { max_a = 1; } int correct; if (a.Correct == true) { correct = 1; } else { correct = 0; } var answerRow = new Answers() { Id = max_a, Id_Quest = question.IdDB, Correct = correct, textAnswer = a.Answer, }; context.Answers.Add(answerRow); context.SaveChanges(); } } } this.isUpdated = false; return(0); }
public int UpdateTest(TestModel t) { while (this.isUpdated == true) { } this.isUpdated = true; int max_t; int max_l; if (t.IdDB == -1) { using (var context = new quizEntities()) { try { max_t = context.Tests.Max(ts => ts.Id); max_t++; } catch (System.InvalidOperationException) { max_t = 1; } var test = new Tests() { Id = max_t, Title = t.Title.Trim(), Description = t.Description.Trim() }; context.Tests.Add(test); context.SaveChanges(); foreach (QuestionModel q in t.Questions) { try { max_l = context.Table2.Max(l => l.Id); max_l++; } catch (System.InvalidOperationException) { max_l = 1; } var table = new Table2() { Id = max_l, IdQuest = q.IdDB, IdTest = test.Id, }; context.Table2.Add(table); context.SaveChanges(); } } } else { using (var context = new quizEntities()) { this.DeleteTest(t); var test = new Tests() { Id = t.IdDB, Title = t.Title.Trim(), Description = t.Description.Trim() }; context.Tests.Add(test); context.SaveChanges(); foreach (QuestionModel q in t.Questions) { try { max_l = context.Table2.Max(l => l.Id); max_l++; } catch (System.InvalidOperationException) { max_l = 1; } var table = new Table2() { Id = max_l, IdQuest = q.IdDB, IdTest = test.Id, }; context.Table2.Add(table); context.SaveChanges(); } } } this.isUpdated = false; return(0); }