예제 #1
0
파일: frmOrder.cs 프로젝트: slagovskiy/psa
        // Обновляет папки форматов, работает по таймеру
        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();
        }
예제 #2
0
파일: frmOrder.cs 프로젝트: slagovskiy/psa
        // Создает папки форматов при первом запуске
        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();
        }
예제 #3
0
파일: frmMain.cs 프로젝트: slagovskiy/psa
        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();
                }
            }
        }
예제 #4
0
파일: frmMain.cs 프로젝트: slagovskiy/psa
 private void propToolStripMenuItem_Click(object sender, EventArgs e)
 {
     frmOptions fOptions = new frmOptions();
     fOptions.ShowDialog();
 }
예제 #5
0
파일: frmMain.cs 프로젝트: slagovskiy/psa
        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();
            }
        }
예제 #6
0
파일: frmStep1.cs 프로젝트: slagovskiy/psa
        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();
        }
예제 #7
0
파일: frmStep1.cs 프로젝트: slagovskiy/psa
        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();
        }