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);
            }
        }
Example #2
0
 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()));
     }
 }
Example #3
0
        public TestPreview DeleteTest(int TestID)
        {
            TestPreview dbEntry = context.Tests.Find(TestID);

            if (dbEntry != null)
            {
                context.Tests.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
Example #4
0
        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));
        }
Example #5
0
 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);
         }
     });
 }
Example #6
0
        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);
            }
        }
Example #7
0
 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));
     }
 }
Example #8
0
 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"));
     }
 }
Example #9
0
 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));
     }
 }
Example #10
0
 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();
 }