public void LoadTestsList() { stackPanel.Children.Clear(); testsList = new List <TestPreview>(); SqlConnection connection = new SqlConnection("Data Source=DESKTOP-JOHEOHB\\SQLEXPRESS;Initial Catalog=dpl;User ID=sa;Password=12345"); connection.Open(); SqlDataReader reader = new SqlCommand("select * from Тесты", connection).ExecuteReader(); while (reader.Read()) { TestPreview preview = new TestPreview(reader.GetInt32(reader.GetOrdinal("Идентификатор")), reader.GetString(reader.GetOrdinal("Название"))); testsList.Add(preview); } reader.Close(); if (testsList.Count < 1) { Label label = new Label(); label.FontSize = 24; label.Content = "Не удалось загрузить тесты"; stackPanel.Children.Add(label); return; } foreach (TestPreview test in testsList) { Button testButton = new Button(); testButton.Content = test.Name; testButton.Height = 40; testButton.Margin = new Thickness(10); testButton.AddHandler(Button.ClickEvent, new RoutedEventHandler(StartTest)); stackPanel.Children.Add(testButton); } }
public ViewResult TestResult() { Database.SetInitializer(new DropCreateDatabaseIfModelChanges <EFTestDbContext>()); ViewBag.Error = ""; if (Request["answer" + 1] != null) { int CurTest = 0; int i = 2; var result = Request["answer" + 1]; int LastLength = 0; int NewLength = 0; do { LastLength = result.Length; if (i == 2) { result += ","; } result += Request.Unvalidated["answer" + (i)]; NewLength = result.Length; if (NewLength > LastLength) { result += ","; } i++; }while (NewLength > LastLength); result = result.Remove(result.Length - 1, 1); string[] answer = result.Split(','); int NumOfQuestions = answer.Length; i = 0; foreach (string a in answer) { string[] b = a.Split(':'); if (b[1] == "yes") { i++; //SelAnswers.Add(answers.Answers.First(x => x.Id == Convert.ToInt32(b[2]))); } CurTest = int.Parse(b[4]); } TestResultViewModel model = new TestResultViewModel(); TestPreview MyTest = test.Tests.First(x => x.Id == CurTest); model.Answers = answers.Answers; model.Questions = question.Question; model.ResultStrings = answer; ViewBag.Result = result + "NumOfQ=" + NumOfQuestions + "NumOfCorr=" + i + "TestID=" + CurTest; ViewBag.Questions = NumOfQuestions; ViewBag.Correct = i; ViewBag.TestTheme = MyTest.Theme; ViewBag.TestID = CurTest; return(View(model)); } else { ViewBag.Error = "Error"; return(View(new TestResultViewModel())); } }
public TestPreview DeleteTest(int TestID) { TestPreview dbEntry = context.Tests.Find(TestID); if (dbEntry != null) { context.Tests.Remove(dbEntry); context.SaveChanges(); } return(dbEntry); }
public ViewResult Testing(int TestID) { Database.SetInitializer(new DropCreateDatabaseIfModelChanges <EFTestDbContext>()); TestPreview TempTest = test.Tests.First(x => x.Id == TestID); IEnumerable <Question> questions = question.Question.Where(x => x.TestID == TestID); TestComplitingViewModel model = new TestComplitingViewModel(); model.Tests = TempTest; model.Questions = questions; model.Answers = answers.Answers; return(View(model)); }
private void Server_GetTestResponse(Test obj) { Server.GetTestResponse -= Server_GetTestResponse; Dispatcher.Invoke(delegate() { TestPreview testPreview = new TestPreview(obj); testPreview.ShowDialog(); if (testPreview.UserWantTesting) { LoadTest(obj); } }); }
public FileContentResult GetImage(int Id) { TestPreview test = repository.Tests .FirstOrDefault(t => t.Id == Id); if (test != null) { return(File(test.ImageData, test.ImageMimeType)); } else { return(null); } }
public ActionResult QuestionIndex(int?ID) { if (ID != null) { TestPreview test = TestRepository.Tests.First(x => x.Id == ID); QuestionIndexViewModel questions = new QuestionIndexViewModel(); questions.Questions = QuestionRepository.Question.Where(x => x.TestID == ID); questions.TestID = test.Id; return(View(questions)); } else { QuestionIndexViewModel questions = new QuestionIndexViewModel(); questions.Questions = QuestionRepository.Question; return(View(questions)); } }
public ActionResult Edit(int?ID, int?Delete) { if (Delete == null) { TestPreview test = TestRepository.Tests.First(x => x.Id == ID); return(View(test)); } else { TestPreview test = TestRepository.Tests.First(x => x.Id == ID); TestPreview deletedTest = TestRepository.DeleteTest(test.Id); if (deletedTest != null) { TempData["message"] = string.Format("Тест \"{0}\" был удален", deletedTest.Theme); } return(RedirectToAction("Index")); } }
public ActionResult Edit(TestPreview test, HttpPostedFileBase image = null) { if (ModelState.IsValid) { if (image != null) { test.ImageMimeType = image.ContentType; test.ImageData = new byte[image.ContentLength]; image.InputStream.Read(test.ImageData, 0, image.ContentLength); } TestRepository.SaveTest(test); TempData["message"] = string.Format("Изменения в тесте \"{0}\" были сохранены", test.Theme); return(RedirectToAction("Index")); } else { // Что-то не так со значениями данных return(View(test)); } }
public void SaveTest(TestPreview test) { if (test.Id == 0) { context.Tests.Add(test); } else { TestPreview dbEntry = context.Tests.Find(test.Id); if (dbEntry != null) { dbEntry.Theme = test.Theme; dbEntry.Description = test.Description; dbEntry.Course = test.Course; dbEntry.Category = test.Category; dbEntry.ImageData = test.ImageData; dbEntry.ImageMimeType = test.ImageMimeType; } } context.SaveChanges(); }