Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
0
 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();
                 }
             }
         }
     }
 }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }