public void startQuiz(Action navigate) { //if (TestingData.sheet.ExamDuration != 0) //{ // Timer.Stop(); //} OnsiteServices svc = new OnsiteServices(); svc.StartExam(new ClientSheetRequest { ClientId = TestingData.Config.ClientId, SheetId = TestingData.sheet._id }); if (TestingData.State == "READY") { TestingData.SetTimer(); } TestingData.sheet.LastedStatus = "TESTING"; TestingData.State = "TESTING"; TestingData.Activity = StudentActivity.Testing; //if (TestingData.TestDuration == 0) //{ // //TestingData.sheet.ExamDuration = TestingData.sheet.ExamDuration; // TestingData.TestDuration = TestingData.sheet.ExamDuration; //} navigate(); }
public void EndExam() { OnsiteServices svc = new OnsiteServices(); svc.EndExam(new ClientSheetRequest { ClientId = TestingData.Config.ClientId, SheetId = TestingData.sheet._id }); TestingData.Reset(); }
public void CheckExam(string pid, Action navigateMethod) { if (!String.IsNullOrWhiteSpace(pid)) { try { //pid = "1409901796428"; //HACK OnsiteServices svc = new OnsiteServices(); PreExam = svc.CheckExam(pid); if (PreExam != null) { TestingData.preExam = new PreExamResponse(); TestingData.preExam = PreExam; SmartCardVis = Visibility.Collapsed; ErrorVis = Visibility.Collapsed; ConfirmVis = Visibility.Collapsed; ProfileVis = Visibility.Visible; this.navigate = navigateMethod; } else { ErrorStatus = "ไม่พบข้อมูล"; SmartCardVis = Visibility.Collapsed; ErrorVis = Visibility.Visible; ConfirmVis = Visibility.Collapsed; ProfileVis = Visibility.Collapsed; } } catch (Exception e) { SmartCardVis = Visibility.Collapsed; ErrorVis = Visibility.Visible; ConfirmVis = Visibility.Collapsed; ProfileVis = Visibility.Collapsed; } } else { ErrorVis = Visibility.Visible; ErrorStatus = "PID NOT FOUND"; } }
public void SubmitConfrim() { //get sheet try { OnsiteServices svc = new OnsiteServices(); var sheet = svc.GetSheet(PreExam.PID, SubjectSelected.SubjectCode, TestingData.Config.ClientId); TestingData.sheet = sheet; TestingData.State = "READY"; this.navigate(); } catch (Exception e) { throw; } }
private void SavePic(BitmapSource bitmap) { TestingData.ProfilePhoto = new BitmapImage(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.QualityLevel = 100; //HACK TestingData.SubjectCode = "11"; var PICTURE_FILENAME = string.Format("{0}.jpg", TestingData.sheet._id); //var PICTURE_FILENAME = ""; string serverPath = @"C:\PCTest\pic\"; var picPath = System.IO.Path.Combine(serverPath, PICTURE_FILENAME); if (!Directory.Exists(serverPath)) { Directory.CreateDirectory(serverPath); } using (var fstream = new System.IO.FileStream(picPath, FileMode.Create)) { encoder.Save(fstream); fstream.Flush(); fstream.Close(); fstream.Dispose(); webcam.Stop(); _isCameraOn = false; } var profileBitmap = BitmapFromSource(bitmap); ProfilePhoto = profileBitmap; TestingData.ProfilePhoto = new BitmapImage(); Uri uri = new Uri(picPath, UriKind.RelativeOrAbsolute); TestingData.ProfilePhoto.BeginInit(); TestingData.ProfilePhoto.UriSource = uri; TestingData.ProfilePhoto.CacheOption = BitmapCacheOption.OnLoad; TestingData.ProfilePhoto.EndInit(); //save image to server byte[] bit = new byte[0]; using (var stream = new System.IO.MemoryStream()) { JpegBitmapEncoder encoder2 = new JpegBitmapEncoder(); encoder2.Frames.Add(BitmapFrame.Create(bitmap)); encoder2.QualityLevel = 100; encoder2.Save(stream); bit = stream.ToArray(); OnsiteServices svc = new OnsiteServices(); PicRequest picre = new PicRequest { FileName = PICTURE_FILENAME, bytes = bit }; svc.SavePic(picre); stream.Flush(); stream.Close(); stream.Dispose(); } }
public ExamViewModel() { if (!DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject())) { svc = new OnsiteServices(); CurrentSheet = new ExamSheetResponse(); CurrentSheet = TestingData.sheet; IsTimpUp = false; State = TestingData.State; BorderColor = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(0, 0, 0)); First = new ChoiceViewModel { Callback = SetCurrentChoice }; Second = new ChoiceViewModel { Callback = SetCurrentChoice }; Third = new ChoiceViewModel { Callback = SetCurrentChoice }; Fourth = new ChoiceViewModel { Callback = SetCurrentChoice }; QuestionSelect = new QuestionViewModel { Callback = SetQPreview }; ChoiceSelect = new ChoiceSelector(); SelectIndex = 0; currentQuestionNo = 1; CurrentAnswer = new Answer(); Answers = new List <Answer>(); InitializeAnswers(); //MainExamVisibility = Visibility.Collapsed; //ExamAns = new ExamAnsViewModel(); //ExamAns.Answers = Answers; QuestionSelect = new QuestionViewModel(); #region TimeCal if (TestingData.State != "CheckAnswer" && this.IsTimpUp == false) { Duration = new TimeSpan(0, 0, TestingData.TestDuration); DisplayDuration = Duration.ToString(); Timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) }; Timer.Tick += (sndr, se) => { if (Duration <= new TimeSpan(0, 0, 0)) { SendResult(); if (this.IsTimpUp) { SendResultEvent(this, new Models.SendResultArgs { IsTimeUp = true }); this.IsTimpUp = false; } } Duration = Duration.Subtract(TimeSpan.FromSeconds(1)); TestingData.TestDuration = (int)Duration.TotalSeconds; DisplayDuration = Duration.ToString(); }; Timer.Start(); } #endregion TimeCal ProfilePhoto = TestingData.ProfilePhoto; FullName = TestingData.sheet.FirstName + " " + TestingData.sheet.LastName; SubjectName = TestingData.sheet.SubjectName; TestingData.Activity = StudentActivity.Testing; // ART //if (Answers.Count() == 0) //{ // InitializeAnswers(); //} //set current question choice SetCurrentQuestion(currentQuestionNo); MainExamVisibility = Visibility.Visible; ExamAnsVisibility = Visibility.Collapsed; SendExamVisibility = Visibility.Collapsed; AlertResult = Visibility.Collapsed; BtnChooseVisibility = Visibility.Collapsed; } }