private void загрузитьToolStripMenuItem_Click(object sender, EventArgs e) { string fileName; var test = FileProcessor.LoadTestFile(out fileName); if (test != null) { testForEdit = test; Text = "OleXis Test: Редактор тестов - " + fileName; InitTestControls(); } }
private void buttonAddSound_Click(object sender, EventArgs e) { RemoveSound(); var sound = FileProcessor.LoadSound(); if (sound != null) { _info.Sound = sound; buttonPlaySound.Enabled = true; buttonRemoveSound.Enabled = true; } }
private void buttonAddImage_Click(object sender, EventArgs e) { RemoveImage(); var image = FileProcessor.LoadImage(); if (image != null) { pictureBox1.Image = image; _info.Image = image; buttonRemoveImage.Enabled = true; } }
private void сохранитьТестToolStripMenuItem_Click(object sender, EventArgs e) { string filename; if (!FileProcessor.SaveTestFile(testForEdit, out filename)) { MessageBox.Show("При сохранении теста произошла ошибка", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Text = "OleXis Test: Редактор тестов - " + filename; } }
public bool Save(ITest test, string testName, int subject) { if (testName == null) { throw new ArgumentNullException("Значение testName не может быть null"); } FileProcessor.ClearTmpDir(tmpDir); for (var i = 0; i < test.Questions.Count; i++) { var serialized_question = test.Questions[i].Serialize(); using (FileStream file = new FileStream(tmpDir + @"\" + i + ".dat", FileMode.OpenOrCreate)) { serialized_question.WriteTo(file); } } var formatter = new BinaryFormatter(); using (FileStream file = new FileStream(tmpDir + @"\main.dat", FileMode.OpenOrCreate)) { formatter.Serialize(file, test); } var stream = new MemoryStream(); FileProcessor.CompressFile(tmpDir, stream); var testInfo = new NetSerializedTestInfo(stream.ToArray(), testName, subject); _error = null; connection.SendCommand( new RequestInfo( "SaveTest", SequrityUtils.Encrypt( testInfo.ToJson(), connection.User.SecretKey), connection.User.UserToken), onSaveRecive ); FileProcessor.ClearTmpDir(tmpDir); if (_error == null) { return(true); } else { return(false); } }
private void onLoadRecive(string data) { loadedTest = null; var response = ResponseInfo.FromJson(data); if (response.Error != null) { _error = response.Error; } else { FileProcessor.ClearTmpDir(tmpDir); var testInfo = NetSerializedTestInfo.FromJson(SequrityUtils.DecryptString(response.Data, connection.User.SecretKey)); using (FileStream file = new FileStream(tmpDir + @"\testtmp.test", FileMode.OpenOrCreate)) { file.Write(testInfo.Test, 0, testInfo.Test.Length); } FileProcessor.DecompressFile(tmpDir + @"\testtmp.test", ""); var formatter = new BinaryFormatter(); Test test; using (FileStream file = new FileStream(tmpDir + @"\main.dat", FileMode.Open)) { test = (Test)formatter.Deserialize(file); test.InitSerializedTest(); } var i = 0; while (File.Exists(tmpDir + @"\" + i.ToString() + ".dat")) { using (FileStream file = new FileStream(tmpDir + @"\" + i.ToString() + ".dat", FileMode.Open)) { test.Questions.Add(new Question(file)); } i++; } FileProcessor.ClearTmpDir(tmpDir); loadedTest = test; } }
private void btnRun_Click(object sender, EventArgs e) { using (var studentData = new StudentDataDialog()) { if (studentData.ShowDialog() == DialogResult.OK) { string fileName; var test = FileProcessor.LoadTestFile(out fileName); if (test != null) { using (var passing = new TestPassing(studentData.FIO, studentData.Class, test, connection, false)) { Hide(); passing.ShowDialog(); Show(); } } } } }
public ITest LoadForEdit(string fileName, string password = null) { _fileName = fileName; FileProcessor.ClearTmpDir(tmpDir); if (password == null) { FileProcessor.DecompressFile(fileName, ""); } else { FileProcessor.EncryptDecryptFile(fileName, password, false, tmpDir + @"\testtmp.test"); FileProcessor.DecompressFile(tmpDir + @"\testtmp.test", ""); } var formatter = new BinaryFormatter(); Test test; using (FileStream file = new FileStream(tmpDir + @"\main.dat", FileMode.Open)) { test = (Test)formatter.Deserialize(file); test.InitSerializedTest(); } var i = 0; while (File.Exists(tmpDir + @"\" + i.ToString() + ".dat")) { using (FileStream file = new FileStream(tmpDir + @"\" + i.ToString() + ".dat", FileMode.Open)) { test.Questions.Add(new Question(file)); } i++; } FileProcessor.ClearTmpDir(tmpDir); return(test); }
public bool Save(ITest test, string testPath = null) { if (testPath == null) { using (var saveDialog = new SaveFileDialog()) { saveDialog.Filter = "Файлы тестов (.test)| *.test"; if (saveDialog.ShowDialog() == DialogResult.OK) { _fileName = saveDialog.FileName; } else { return(true); } } } else { _fileName = testPath; } FileProcessor.ClearTmpDir(tmpDir); for (var i = 0; i < test.Questions.Count; i++) { var serialized_question = test.Questions[i].Serialize(); using (FileStream file = new FileStream(tmpDir + @"\" + i + ".dat", FileMode.OpenOrCreate)) { serialized_question.WriteTo(file); } } var formatter = new BinaryFormatter(); using (FileStream file = new FileStream(tmpDir + @"\main.dat", FileMode.OpenOrCreate)) { formatter.Serialize(file, test); } FileProcessor.CompressFile(tmpDir, tmpDir + @"\testtmp.test"); if (test.Params.Password != "") { if (File.Exists(_fileName)) { File.Delete(_fileName); } FileProcessor.EncryptDecryptFile(tmpDir + @"\testtmp.test", test.Params.Password, true, _fileName); } else { if (File.Exists(_fileName)) { File.Delete(_fileName); } File.Copy(tmpDir + @"\testtmp.test", _fileName); } FileProcessor.ClearTmpDir(tmpDir); return(true); }