public FormSettings() { InitializeComponent(); _parameters = new DynamicParams(); Port.Text = _parameters.Get().Port.ToString(); TestDirectory.Text = _parameters.Get().TestPath; IpAddress.Text = _parameters.Get().IpAdress; resultsDirectory.Text = _parameters.Get().ResultsPath; this.MinimumSize = this.Size; this.MaximumSize = this.Size; }
public void deleteCheckedResults() { foreach (Control ctrl in panelWithCourses.Controls) { if (ctrl is CheckBox) { if (((CheckBox)ctrl).Checked) { ResultsData.Get().RemoveAll(p => p.Course == ctrl.Text); DirectoryInfo diTests = new DirectoryInfo(_parameters.Get().ResultsPath + @"\Тестирование\" + ctrl.Text); DirectoryInfo diStudy = new DirectoryInfo(_parameters.Get().ResultsPath + @"\Обучение\" + ctrl.Text); if (!diTests.Exists || !diStudy.Exists) { continue; } foreach (FileInfo file in diTests.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in diTests.GetDirectories()) { dir.Delete(true); } foreach (FileInfo file in diStudy.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in diStudy.GetDirectories()) { dir.Delete(true); } } } } File.WriteAllText(Resources.ResultsData, JsonConvert.SerializeObject(ResultsData.Get())); MessageBox.Show("Результаты удалены", "Успех!"); }
private void загрузитьТестыСФлешкиToolStripMenuItem_Click(object sender, EventArgs e) { var parameters = new DynamicParams(); using (var fbd = new FolderBrowserDialog()) { DialogResult result = fbd.ShowDialog(); if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath)) { var dirForBackup = fbd.SelectedPath; var fromDir = parameters.Get().TestPath; if (!Directory.Exists(fromDir)) { MessageBox.Show("В настройках не указан путь к папке с тестами для сохранения или такой папки не существует", "Ошибка сохранения тестов", MessageBoxButtons.OK); return; } CopyDir(dirForBackup, fromDir); MessageBox.Show("Тесты успешно загружены", "Успешно загружено", MessageBoxButtons.OK); } } }
private void сохранитьРезультатыИТестыНаФлешкуToolStripMenuItem_Click(object sender, EventArgs e) { var parameters = new DynamicParams(); using (var fbd = new FolderBrowserDialog()) { DialogResult result = fbd.ShowDialog(); if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath)) { var dirForBackup = fbd.SelectedPath + "/Результаты тестирования"; var fromDir = parameters.Get().ResultsPath; if (!Directory.Exists(fromDir)) { MessageBox.Show("В настройках не указан путь к папке с результатами или такой папки не существует", "Ошибка сохранения результатов", MessageBoxButtons.OK); return; } CopyDir(fromDir, dirForBackup); MessageBox.Show("Файлы с результатами успешно сохранены", "Успешно сохранено", MessageBoxButtons.OK); } } }
private void Listen() { var ipPoint = new IPEndPoint(IPAddress.Parse(_parameters.Get().IpAdress), _parameters.Get().Port); var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); var filenames = new List <ObjectInfo>(); socket.Bind(ipPoint); socket.Listen(40); while (true) { try { var handler = socket.Accept(); var builder = new StringBuilder(); var data = new byte[256]; do { var bytes = handler.Receive(data); builder.Append(Encoding.Unicode.GetString(data, 0, bytes)); } while (handler.Available > 0); string response = builder.ToString(); switch (response) { case "Test connect": { handler.Send(Encoding.Unicode.GetBytes("OK")); break; } case "Update": { if (_editable) { handler.Send(Encoding.Unicode.GetBytes("Occupied")); } _editable = true; filenames.Clear(); var directoryInfo = new DirectoryInfo(_parameters.Get().TestPath); foreach (var test in directoryInfo.GetFiles("*.test")) { filenames.Add(new ObjectInfo { FileName = test.Name, Length = test.Length, LastUpdate = test.LastWriteTime }); } var pictures = new DirectoryInfo(_parameters.Get().TestPath + "\\picture"); foreach (var picture in pictures.GetFiles("*.bin")) { filenames.Add(new ObjectInfo { FileName = "\\picture\\" + picture.Name, Length = picture.Length }); } var json = JsonConvert.SerializeObject(filenames); handler.Send(Encoding.Unicode.GetBytes(json)); break; } default: { int index; if (Int32.TryParse(response, out index)) { handler.SendFile(_parameters.Get().TestPath + "\\" + filenames[index].FileName); } else { if (response == "Close") { _editable = false; break; } _form.AddResult(builder.ToString()); } break; } } handler.Shutdown(SocketShutdown.Both); handler.Close(); } catch (Exception) { // ignored } } }
public void saveResults() { listColumns = new Dictionary <string, string> { }; dicCourses = new Dictionary <string, List <Result> > { }; docnameAndResults = new Dictionary <string, List <DataGridViewRow> > { }; foreach (Result res in ResultsData.Get()) { if (res.ResultType != _typeRes1) { continue; } if (!dicCourses.ContainsKey(res.Course)) { dicCourses.Add(res.Course, new List <Result> { }); } dicCourses[res.Course].Add(res); } //Коллекция для создания заголовков listColumns.Add("Course", "Предмет"); listColumns.Add("TestName", "Название Теста"); listColumns.Add("Platoon", "Взвод"); listColumns.Add("StudentName", "ФИО"); listColumns.Add("Mark", "Результат"); listColumns.Add("Timestamp", "Дата"); foreach (KeyValuePair <string, List <Result> > keyValue in dicCourses) { docnameAndResults.Clear(); var wrongSymbols = "/\\<>:?\"|*"; //Создаем папку под каждый предмет string courseDir = _parameters.Get().ResultsPath + @"\" + new string(_typeRes2.Where(c => !wrongSymbols.Contains(c)).ToArray()) + @"\" + new string(keyValue.Key.Where(c => !wrongSymbols.Contains(c)).ToArray()); if (!Directory.Exists(courseDir)) { Directory.CreateDirectory(courseDir); } //Создание таблицы, которую вставим в Word DataGridView tempTable = new DataGridView(); //Добаляем заголовочную строку таблице foreach (KeyValuePair <string, string> courseNameAndText in listColumns) { var column = new DataGridViewColumn { HeaderText = courseNameAndText.Value, Name = courseNameAndText.Key, CellTemplate = new DataGridViewTextBoxCell() }; tempTable.Columns.Add(column); } //Создание мапы <взвод - название теста> в конкретном предмете foreach (Result res in keyValue.Value) { string name = res.Platoon + "взвод. " + res.TestName; if (!docnameAndResults.ContainsKey(name)) { docnameAndResults.Add(name, new List <DataGridViewRow> { }); } DataGridViewRow rowForInsert = new DataGridViewRow(); rowForInsert.CreateCells(_testsTable); rowForInsert.Cells[0].Value = res.Course; rowForInsert.Cells[1].Value = res.TestName; rowForInsert.Cells[2].Value = res.Platoon; rowForInsert.Cells[3].Value = res.StudentName; rowForInsert.Cells[4].Value = res.Mark; rowForInsert.Cells[5].Value = res.Timestamp; docnameAndResults[name].Add(rowForInsert); } foreach (var keyValueDocAndRows in docnameAndResults) { tempTable.Rows.Clear(); foreach (DataGridViewRow rowTemp in keyValueDocAndRows.Value) { DataGridViewRow rowForInsert = new DataGridViewRow(); rowForInsert = (DataGridViewRow)rowTemp.Clone(); int intColIndex = 0; foreach (DataGridViewCell cell in rowTemp.Cells) { rowForInsert.Cells[intColIndex].Value = cell.Value; intColIndex++; } tempTable.Rows.Add(rowForInsert); } ws.Export_Data_To_Word(tempTable, courseDir + @"\" + new string(keyValueDocAndRows.Key.Where(c => !wrongSymbols.Contains(c)).ToArray()) + ".doc"); } } }