// Обновляет папки форматов, работает по таймеру private void UpdateFormatTable() { tmr.Stop(); while ((prop.Dir_edit == "") || (prop.Dir_print == "")) { MessageBox.Show("Не определены каталоги для заказов на печатьи на обработку! Проверьте настройки программы.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); frmOptions fOption = new frmOptions(); fOption.ShowDialog(); } // Об'ект папки для печати if (!Directory.Exists(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno)); Directory.CreateDirectory(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); DirectoryInfo DirPrint = new DirectoryInfo(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); if (!Directory.Exists(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno)); Directory.CreateDirectory(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); DirectoryInfo DirEdit = new DirectoryInfo(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); for (int i = 1; i < gridFormats.Rows.Count; i++) { string _tmp_name = gridFormats.GetData(i, 2).ToString(); string _tmp_folder = gridFormats.GetData(i, 4).ToString(); if (_tmp_folder == "") _tmp_folder = _tmp_name.Replace("\\", "").Replace("/", "").Replace(":", "").Replace("?", "").Replace("*", ""); bool _tmp_checked = Convert.ToBoolean(gridFormats.GetData(i, 1)); // создаем папку с именем формата если он отмечена галкой if (_tmp_checked) { // если папка для печати с форматом не существует, то создаем ее if (!Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirPrint.FullName + "\\" + _tmp_folder); } // если папка для обработки с форматом не существует, то создаем ее if (!Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirEdit.FullName + "\\" + _tmp_folder); } } else { // для печати: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirPrint.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на печать, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } // для обработки: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirEdit.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на обработку, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } } // выводим строку с галкой, форматом и количеством фотографий в папке int tmp_count_files = 0; if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirPrint.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirEdit.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); gridFormats.SetData(i, 1, _tmp_checked); gridFormats.SetData(i, 3, tmp_count_files); } // Перегружает из грида на форме данные о фрматах во внутреннюю таблицу ReloadFormatTable(); // Пересчитываем основную таблицу RebildTable(); // Определяется место назначения UpdateDistanation(); // Доступность кнопки завершения CanFinish(); // запускаем таймер дальше tmr.Start(); }
// Создает папки форматов при первом запуске private void ReBildFormatTable() { SqlCommand db_command = new SqlCommand(); db_command.Connection = db_connection; db_command.CommandText = "SELECT [id_good] ,[name] ,[description] ,[folder] ,[type] ,[checked] FROM [vwWizardStep1Good] WHERE [folder] <> ''"; SqlDataReader db_reader = db_command.ExecuteReader(); // очищаем таблицу gridFormats.Rows.Count = 1; // проверяем значение пути к папкам для печати и обработки while ((prop.Dir_edit == "") || (prop.Dir_print == "")) { MessageBox.Show("Не определены каталоги для заказов на печатьи на обработку! Проверьте настройки программы.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); frmOptions fOption = new frmOptions(); fOption.ShowDialog(); } // Об'ект папки для печати if (!Directory.Exists(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno)) Directory.CreateDirectory(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); DirectoryInfo DirPrint = new DirectoryInfo(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); if (!Directory.Exists(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno)) Directory.CreateDirectory(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); DirectoryInfo DirEdit = new DirectoryInfo(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + order.Orderno); while (db_reader.Read()) { string _tmp_id_good; string _tmp_name; string _tmp_description; string _tmp_folder; string _tmp_type; bool _tmp_checked; if (!db_reader.IsDBNull(0)) _tmp_id_good = db_reader.GetString(0); else _tmp_id_good = "0"; if (!db_reader.IsDBNull(1)) _tmp_name = db_reader.GetString(1); else _tmp_name = "+"; if (!db_reader.IsDBNull(2)) _tmp_description = db_reader.GetString(2); else _tmp_description = ""; if (!db_reader.IsDBNull(3)) _tmp_folder = db_reader.GetString(3); else _tmp_folder = _tmp_name.Replace("\\", "").Replace("/", "").Replace(":", "").Replace("?", "").Replace("*", ""); if (!db_reader.IsDBNull(4)) _tmp_type = db_reader.GetString(4); else _tmp_type = ""; if (!db_reader.IsDBNull(5)) _tmp_checked = db_reader.GetBoolean(5); else _tmp_checked = false; // создаем папку с именем формата если он отмечена галкой if (_tmp_checked) { // если папка для печати с форматом не существует, то создаем ее if (!Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirPrint.FullName + "\\" + _tmp_folder); } // если папка для обработки с форматом не существует, то создаем ее if (!Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirEdit.FullName + "\\" + _tmp_folder); } } else { // для печати: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirPrint.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на печать, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } // для обработки: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirEdit.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на обработку, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } } // выводим строку с галкой, форматом и количеством фотографий в папке int tmp_count_files = 0; if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirPrint.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirEdit.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); gridFormats.AddItem("\t" + _tmp_checked + "\t" + _tmp_name + "\t" + tmp_count_files.ToString() + "\t" + _tmp_folder + "\t" + _tmp_id_good); } db_reader.Close(); // Перегружает из грида на форме данные о фрматах во внутреннюю таблицу ReloadFormatTable(); }
private void frmMain_Load(object sender, EventArgs e) { //MessageBox.Show("Используйте службу PSA.Robot!"); //this.Close(); try { StreamWriter sw = new StreamWriter(prop.Dir_export + "\\Robot_" + Environment.MachineName + "_" + Environment.UserName + ".info", false, Encoding.GetEncoding(1251)); sw.Write("Date: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\nMashine: " + Environment.MachineName + "\nUser: "******"\nRobot mod: " + Application.ProductVersion); sw.Close(); } catch { } if (!Checking.checkVersion(Modules.Robot, Application.ProductVersion)) if (MessageBox.Show("Внимание! Существует более новая версия модуля!\nУстановить обновление?", "Контроль обновлений", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) System.Diagnostics.Process.Start(System.Environment.GetCommandLineArgs()[0].Substring( 0, System.Environment.GetCommandLineArgs()[0].LastIndexOf('\\') ) + "\\PSA.Update.cmd"); bool tmp_exit = false; // Проверяем, если есть ограничение на запуск одной копии и программа уже запущена if ((app.Search_twin()) && (prop.Run_one_copy_robot)) { // То выдаем сообщение и закрываем программу MessageBox.Show("Программа уже запущена!"); hidewin = false; globalexit = true; Application.Exit(); } else { // Если ограничение на запуск одной копии пройдено, то продолжаем... // Открываем соединение с базой try { db_connection.ConnectionString = prop.Connection_string; db_connection.Open(); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); // Если не удалось подключиться к базе, то // выдаем сообщение об ошибке и открываем форму // подключения к базе данных MessageBox.Show("Ошибка подключения к базе данных!\n" + ex.Message + "\n" + ex.Source + "\nПроверьте настройки подключения!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); try { frmOptions fOptions = new frmOptions(); fOptions.ShowDialog(); // Опять пробуем подключиться к базе db_connection.ConnectionString = prop.Connection_string; db_connection.Open(); } catch (Exception exc) { ErrorNfo.WriteErrorInfo(ex); // Если после второй попытки не удалось подключиться, то закрываем программу. MessageBox.Show("Ошибка подключения к базе данных!\n" + exc.Message + "\n" + exc.Source, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); tmp_exit = true; } } if (!tmp_exit) { try { tmrRobot.Interval = prop.Import_time * 1000 * 60; } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); MessageBox.Show("Ошибка назначения интервала запуска импорта данных, проверьте настройки!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } try { tmrRobotExport.Interval = prop.Export_time * 1000 * 60; } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); MessageBox.Show("Ошибка назначения интервала запуска экспорта данных, проверьте настройки!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } tmr.Start(); tmrRobot.Start(); tmrRobotExport.Start(); this.Visible = false; wtl("\n[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] # Начало работы робота \n"); } else { Application.Exit(); } } }
private void propToolStripMenuItem_Click(object sender, EventArgs e) { frmOptions fOptions = new frmOptions(); fOptions.ShowDialog(); }
private void frmMain_Load(object sender, EventArgs e) { try { StreamWriter sw = new StreamWriter(prop.Dir_export + "\\Exchanger_" + Environment.MachineName + "_" + Environment.UserName + ".info", false, Encoding.GetEncoding(1251)); sw.Write("Date: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\nMashine: " + Environment.MachineName + "\nUser: "******"\nExchanger mod: " + Application.ProductVersion); sw.Close(); } catch { } bool tmp_login_ok = false; bool tmp_exit = false; // Если ограничение на запуск одной копии пройдено, то продолжаем... // Открываем соединение с базой try { db_connection.ConnectionString = prop.Connection_string; db_connection.Open(); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); // Если не удалось подключиться к базе, то // выдаем сообщение об ошибке и открываем форму // подключения к базе данных MessageBox.Show("Ошибка подключения к базе данных!\n" + ex.Message + "\n" + ex.Source + "\nПроверьте настройки подключения!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); try { frmOptions fOptions = new frmOptions(); fOptions.ShowDialog(); // Опять пробуем подключиться к базе db_connection.ConnectionString = prop.Connection_string; db_connection.Open(); } catch (Exception exc) { ErrorNfo.WriteErrorInfo(exc); // Если после второй попытки не удалось подключиться, то закрываем программу. MessageBox.Show("Ошибка подключения к базе данных!\n" + exc.Message + "\n" + exc.Source, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); tmp_exit = true; } } if (!tmp_exit) { // открываем окно запроса пользователя frmLogin fLogin = new frmLogin(); // спрашиваем пока не угадает пароль или не надоест угадывать while (!tmp_login_ok) { switch (fLogin.ShowDialog()) { case DialogResult.Cancel: { tmp_login_ok = true; tmp_exit = true; break; } case DialogResult.OK: { tmp_login_ok = true; if (fLogin.usr.prmCanLoginAcceptance) { this.Show(); } else { tmp_exit = true; MessageBox.Show("Доступ в модуль приемка заперщен!", "Вход в программу", MessageBoxButtons.OK, MessageBoxIcon.Error); } break; } } } if (!tmp_exit) { // если мы уже тут, значит пароль все же угадали // Получаем данные о пользователе usr = fLogin.usr; // Показываем окно this.Focus(); } else { Application.Exit(); } } else { Application.Exit(); } }
private void UpdateTable() { while ((prop.Dir_edit == "") || (prop.Dir_print == "")) { MessageBox.Show("Не определены каталоги для заказов на печатьи на обработку! Проверьте настройки программы.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); frmOptions fOption = new frmOptions(); fOption.ShowDialog(); } // Подпапки Год-месяц-день string tmp_subdirs = DateTime.Now.Year.ToString() + "\\"; if (DateTime.Now.Month.ToString().Length == 1) tmp_subdirs += "0"; tmp_subdirs += DateTime.Now.Month.ToString() + "\\"; if (DateTime.Now.Day.ToString().Length == 1) tmp_subdirs += "0"; tmp_subdirs += DateTime.Now.Day.ToString(); // Об'ект папки для печати if (!Directory.Exists(prop.Dir_print + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text)) Directory.CreateDirectory(prop.Dir_print + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); DirectoryInfo DirPrint = new DirectoryInfo(prop.Dir_print + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); if (!Directory.Exists(prop.Dir_edit + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text)) Directory.CreateDirectory(prop.Dir_edit + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); DirectoryInfo DirEdit = new DirectoryInfo(prop.Dir_edit + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); // Очищаем таблицу для передачи tblOrder.Rows.Clear(); for (int i = 1; i < GridOrder.Rows.Count; i++) { string _tmp_name = GridOrder.GetData(i, 2).ToString(); string _tmp_folder = GridOrder.GetData(i, 4).ToString(); bool _tmp_checked = Convert.ToBoolean(GridOrder.GetData(i, 1)); // создаем папку с именем формата если он отмечена галкой if (_tmp_checked) { // если папка для печати с форматом не существует, то создаем ее if (!Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirPrint.FullName + "\\" + _tmp_folder); } // если папка для обработки с форматом не существует, то создаем ее if (!Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirEdit.FullName + "\\" + _tmp_folder); } } else { // для печати: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirPrint.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на печать, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } // для обработки: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirEdit.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на обработку, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } } // выводим строку с галкой, форматом и количеством фотографий в папке int tmp_count_files = 0; if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirPrint.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirEdit.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); GridOrder.SetData(i, 1, _tmp_checked); GridOrder.SetData(i, 3, tmp_count_files); object[] row = new object[5]; row[0] = GridOrder.GetData(i, 1); row[1] = GridOrder.GetData(i, 2); row[2] = GridOrder.GetData(i, 3); row[3] = GridOrder.GetData(i, 4); row[4] = GridOrder.GetData(i, 5); tblOrder.Rows.Add(row); } UpdateForm(); }
private void ReBildTable() { tmr.Stop(); if (CheckState(db_connection)) { db_command.Connection = db_connection; if (prop.ShortGoodsListInWizard) db_command.CommandText = "SELECT [id_good] ,[name] ,[description] ,[folder] ,[type] ,[checked] FROM [vwWizardStep1Good1] WHERE [type]=1 ORDER BY [name]"; else db_command.CommandText = "SELECT [id_good] ,[name] ,[description] ,[folder] ,[type] ,[checked] FROM [vwWizardStep1Good] WHERE [type]=1 ORDER BY [name]"; db_reader = db_command.ExecuteReader(); // очищаем таблицу GridOrder.Rows.Count = 1; // задаем высоту строки GridOrder.Rows.DefaultSize = 30; // проверяем значение пути к папкам для печати и обработки while ((prop.Dir_edit == "") || (prop.Dir_print == "")) { MessageBox.Show("Не определены каталоги для заказов на печатьи на обработку! Проверьте настройки программы.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); frmOptions fOption = new frmOptions(); fOption.ShowDialog(); } // Подпапки Год-месяц-день string tmp_subdirs = DateTime.Now.Year.ToString() + "\\"; if (DateTime.Now.Month.ToString().Length == 1) tmp_subdirs += "0"; tmp_subdirs += DateTime.Now.Month.ToString() + "\\"; if (DateTime.Now.Day.ToString().Length == 1) tmp_subdirs += "0"; tmp_subdirs += DateTime.Now.Day.ToString(); // Об'ект папки для печати if (!Directory.Exists(prop.Dir_print + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text)) Directory.CreateDirectory(prop.Dir_print + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); DirectoryInfo DirPrint = new DirectoryInfo(prop.Dir_print + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); if (!Directory.Exists(prop.Dir_edit + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text)) Directory.CreateDirectory(prop.Dir_edit + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); DirectoryInfo DirEdit = new DirectoryInfo(prop.Dir_edit + "\\" + tmp_subdirs + "\\" + lblOrderNo.Text); while (db_reader.Read()) { string _tmp_id_good; string _tmp_name; string _tmp_description; string _tmp_folder; string _tmp_type; bool _tmp_checked; if (!db_reader.IsDBNull(0)) _tmp_id_good = db_reader.GetString(0); else _tmp_id_good = "0"; if (!db_reader.IsDBNull(1)) _tmp_name = db_reader.GetString(1); else _tmp_name = ""; if (!db_reader.IsDBNull(2)) _tmp_description = db_reader.GetString(2); else _tmp_description = ""; if (!db_reader.IsDBNull(3)) _tmp_folder = db_reader.GetString(3); else _tmp_folder = ""; if (!db_reader.IsDBNull(4)) _tmp_type = db_reader.GetString(4); else _tmp_type = ""; if (!db_reader.IsDBNull(5)) _tmp_checked = db_reader.GetBoolean(5); else _tmp_checked = false; // создаем папку с именем формата если он отмечена галкой if (_tmp_checked) { // если папка для печати с форматом не существует, то создаем ее if (!Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirPrint.FullName + "\\" + _tmp_folder); } // если папка для обработки с форматом не существует, то создаем ее if (!Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { Directory.CreateDirectory(DirEdit.FullName + "\\" + _tmp_folder); } } else { // для печати: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirPrint.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на печать, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } // для обработки: если существует, то проверяем, если она пустая, то удаляем ее, если не пустая, то спрашиваем if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) { DirectoryInfo tmpDir = new DirectoryInfo(DirEdit.FullName + "\\" + _tmp_folder); if (fso.Directory_Size(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true) == 0) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { if (MessageBox.Show("Внимание! Вы отменили в заказе формат " + _tmp_name.Trim() + ", направленный на обработку, но в нем находятся файлы (" + fso.Count_of_files(tmpDir.FullName, prop.List_of_files, prop.Search_SubDir, true).ToString() + " шт.)!\nУдалить?", "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + tmpDir.FullName + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) tmpDir.Delete(true); } else { tmpDir.Delete(true); } } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); } } else { _tmp_checked = true; } } } } // выводим строку с галкой, форматом и количеством фотографий в папке int tmp_count_files = 0; if (Directory.Exists(DirPrint.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirPrint.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); if (Directory.Exists(DirEdit.FullName + "\\" + _tmp_folder)) tmp_count_files += fso.Count_of_files(DirEdit.FullName + "\\" + _tmp_folder, prop.List_of_files, prop.Search_SubDir, true); GridOrder.AddItem("\t" + _tmp_checked + "\t" + _tmp_name + "\t" + tmp_count_files.ToString() + "\t" + _tmp_folder + "\t" + _tmp_id_good); } db_reader.Close(); UpdateTable(); } tmr.Start(); }