Ejemplo n.º 1
0
 private void ServerLoadDialog_Shown(object sender, EventArgs e)
 {
     if (isPassing)
     {
         connection.SendCommand(new RequestInfo("GetAvailableTests", null, connection.User.UserToken), onTestsRecive);
     }
     else
     {
         connection.SendCommand(new RequestInfo("GetMyTests", null, connection.User.UserToken), onTestsRecive);
     }
 }
Ejemplo n.º 2
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.º 3
0
 private void UpdateData()
 {
     connection.SendCommand(
         new RequestInfo(
             "GetTestResults",
             SequrityUtils.Encrypt(
                 new ServerTestResultGetParams(
                     TestId,
                     textBoxTestNameSurname.Text,
                     checkBoxUseData.Checked ? (DateTime?)dateTimePicker1.Value : null)
                 .ToJson(),
                 connection.User.SecretKey),
             connection.User.UserToken),
         onResultsRecive);
 }
Ejemplo n.º 4
0
 private void buttonAdd_Click(object sender, EventArgs e)
 {
     if (textBoxSubjectName.Text == "")
     {
         MessageBox.Show("Поле \"Название предмета\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     connection.SendCommand(new RequestInfo("AddSubject", SequrityUtils.Encrypt(textBoxSubjectName.Text, connection.User.SecretKey), connection.User.UserToken), onRecive);
 }
Ejemplo n.º 5
0
 private void CheckExpired()
 {
     while (true)
     {
         lock (lockObject)
         {
             if (expiredTime < DateTime.Now)
             {
                 connection.SendCommand(new RequestInfo("UpdateTime", null, connection.User.UserToken), onRecive);
             }
         }
         Thread.Sleep(1000);
     }
 }
Ejemplo n.º 6
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     if (textBoxSurname.Text == "")
     {
         MessageBox.Show("Поле \"Фамилия\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (textBoxFirstname.Text == "")
     {
         MessageBox.Show("Поле \"Имя\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (checkBoxChangePassword.Checked)
     {
         if (textBoxPassword.Text == "")
         {
             MessageBox.Show("Поле \"Пароль\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         if (textBoxPassConfirm.Text != textBoxPassword.Text)
         {
             MessageBox.Show("Пароли не совпадают!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
     }
     if (textBoxGroup.Visible)
     {
         if (textBoxGroup.Text == "")
         {
             MessageBox.Show("Поле \"Группа\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
     }
     connection.SendCommand(
         new RequestInfo(
             "EditUser",
             SequrityUtils.Encrypt(
                 new EditUserData(
                     userId,
                     checkBoxChangePassword.Checked ? textBoxPassword.Text : null,
                     textBoxFirstname.Text,
                     textBoxSurname.Text,
                     textBoxGroup.Text).ToJson(),
                 connection.User.SecretKey),
             connection.User.UserToken),
         onRecive);
 }
Ejemplo n.º 7
0
 private void GetUsersList()
 {
     connection.SendCommand(
         new RequestInfo(
             "GetUsersSheet",
             SequrityUtils.Encrypt(
                 new UserSheetGetParams(
                     textBoxTestNameSurname.Text,
                     subjectsRoles.FirstOrDefault(
                         x => x.Value == (string)comboBoxSubjectRole.SelectedItem)
                     .Key)
                 .ToJson(),
                 connection.User.SecretKey),
             connection.User.UserToken),
         onUserListRecive);
 }
Ejemplo n.º 8
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     if (textBoxPassword.Text == "")
     {
         MessageBox.Show("Поля \"Пароль\" и \"Подтверждение пароля\" должны быть заполнены!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (textBoxPassword.Text != textBoxPassConfirm.Text)
     {
         MessageBox.Show("Пароли не совпадают!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     connection.SendCommand(
         new RequestInfo(
             "ChangePassword",
             SequrityUtils.Encrypt(
                 textBoxPassword.Text,
                 connection.User.SecretKey),
             connection.User.UserToken),
         onRecive);
 }
Ejemplo n.º 9
0
        public TestResults(string FIO, string Class, int passMinutes, int passSeconds, List <AnswerListItem> answers, bool isServerTest, NetConnection connection)
        {
            InitializeComponent();
            if (answers == null)
            {
                throw new ArgumentNullException("Значение answers не может быть null");
            }
            else
            {
                this.answers = new List <AnswerListItem>(answers);
            }
            labelFIO.Text   += FIO;
            labelClass.Text += Class;
            var mark = Math.Round((double)this.answers.Sum((x) => { return(x.IsRight ? x.Question_score : 0); }) / this.answers.Sum((x) => { return(x.Question_score); }) * 10);

            labelOcenka.Text += mark.ToString();
            if (mark < 4)
            {
                labelOcenka.ForeColor = Color.Red;
            }
            labelProcPrav.Text += string.Format("{0:0.00}", ((double)this.answers.Sum((x) => { return(x.IsRight ? 1 : 0); }) / this.answers.Count * 100));
            labelTime.Text     += passMinutes + ":" + passSeconds;

            this.connection = connection;
            if (isServerTest && connection != null && connection.IsConnected)
            {
                connection.SendCommand(
                    new RequestInfo(
                        "SaveResult",
                        SequrityUtils.Encrypt(
                            new TestResult(
                                Convert.ToInt32(mark),
                                new DateTime(1, 1, 1, passMinutes / 60 > 23 ? 23 : passMinutes / 60, passMinutes % 60, passSeconds),
                                answers).ToJson(),
                            connection.User.SecretKey),
                        connection.User.UserToken),
                    onRecive);
            }
        }
Ejemplo n.º 10
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     if (textBoxLogin.Text == "")
     {
         MessageBox.Show("Поле \"Логин\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (textBoxPassword.Text == "")
     {
         MessageBox.Show("Поле \"Пароль\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (textBoxPassConfirm.Text != textBoxPassword.Text)
     {
         MessageBox.Show("Пароли не совпадают!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (textBoxSurname.Text == "")
     {
         MessageBox.Show("Поле \"Фамилия\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (textBoxFirstname.Text == "")
     {
         MessageBox.Show("Поле \"Имя\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (isStudent)
     {
         if (textBoxGroup.Text == "")
         {
             MessageBox.Show("Поле \"Группа\" должно быть заполнено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         connection.SendCommand(
             new RequestInfo(
                 "RegisterStudent",
                 SequrityUtils.Encrypt(
                     new RegisterData(
                         textBoxLogin.Text,
                         textBoxPassword.Text,
                         textBoxFirstname.Text,
                         textBoxSurname.Text,
                         textBoxGroup.Text
                         ).ToJson(),
                     connection.User.SecretKey
                     ),
                 connection.User.UserToken
                 ),
             onRecive
             );
     }
     else
     {
         connection.SendCommand(
             new RequestInfo(
                 "RegisterTeacher",
                 SequrityUtils.Encrypt(
                     new RegisterData(
                         textBoxLogin.Text,
                         textBoxPassword.Text,
                         textBoxFirstname.Text,
                         textBoxSurname.Text,
                         null
                         ).ToJson(),
                     connection.User.SecretKey
                     ),
                 connection.User.UserToken
                 ),
             onRecive
             );
     }
 }
Ejemplo n.º 11
0
 private void UpdateSubjectsList()
 {
     connection.SendCommand(new RequestInfo("GetSubjectList", null, connection.User.UserToken), onSubjectsRecive);
 }