private void OpenSettings() { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); }
private void mnuSetup_Click(object sender, EventArgs e) { frmSetup f = new frmSetup(); f.ShowDialog(); prop = new PSA.Lib.Util.Settings(); }
private void frmMain_Load(object sender, EventArgs e) { try { StreamWriter sw = new StreamWriter(prop.Dir_net_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 { } if (!Checking.checkVersion(Modules.Exchanger, 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"); if (!PSA.Lib.Util.Semaphore.semInventory) { this.WindowState = FormWindowState.Maximized; txtDateBegin.Value = DateTime.Now.AddDays(-20); txtDateEnd.Value = DateTime.Now.AddDays(5); txtDateBeginPr.Value = DateTime.Now.AddDays(-20); txtDateEndPr.Value = DateTime.Now.AddDays(5); 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 { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); // Опять пробуем подключиться к базе 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) { // открываем окно запроса пользователя PSA.Lib.Interface.frmLogin fLogin = new PSA.Lib.Interface.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(); SqlCommand cmd_status = new SqlCommand("SELECT [order_status], [status_desc] FROM [order_status] ORDER BY [status_desc]", db_connection); SqlDataAdapter da_status = new SqlDataAdapter(cmd_status); DataTable dt_status = new DataTable("status"); da_status.Fill(dt_status); checkStatus.DataSource = dt_status; checkStatus.DisplayMember = "status_desc"; checkStatus.ValueMember = "order_status"; for (int i = 0; i < checkStatus.Items.Count; i++) { checkStatus.SetSelected(i, true); //checkStatus.SelectedItem = i; if (checkStatus.SelectedValue.ToString().Trim() == "000000") checkStatus.SetItemChecked(i, true); } checkFilterInput.Checked = true; checkFilter(); FilterR = new FilterRowLike(GridOder); } else { Application.Exit(); } } else { Application.Exit(); } } else { MessageBox.Show("В момент проведения инвентаризации вход в модуль запрещен!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.Exit(); } }
private void frmMain_Load(object sender, EventArgs e) { this.Title = "Inventory"; this.InfoString = "Загружен модуль инвентаризации"; try { StreamWriter sw = new StreamWriter(settings.Dir_export + "\\Inventory_" + 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 { } if (!Checking.checkVersion(Modules.Inventory, 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_login_ok = false; bool tmp_exit = false; using (SqlConnection db_connection = new SqlConnection()) { // Если ограничение на запуск одной копии пройдено, то продолжаем... // Открываем соединение с базой try { db_connection.ConnectionString = settings.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 { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); settings = new PSA.Lib.Util.Settings(); // Опять пробуем подключиться к базе db_connection.ConnectionString = settings.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.prmCanInventory) { this.Show(); } else { tmp_exit = true; MessageBox.Show("Доступ в модуль инвентаризации заперщен!", "Вход в программу", MessageBoxButtons.OK, MessageBoxIcon.Error); } break; } } } if (!tmp_exit) { // если мы уже тут, значит пароль все же угадали // Получаем данные о пользователе usr = fLogin.usr; // Показываем окно } else { Application.Exit(); } } else { Application.Exit(); } } }
private void frmMain_Load(object sender, EventArgs e) { try { StreamWriter sw = new StreamWriter(prop.Dir_net_export + "\\Admin_" + Environment.MachineName + "_" + Environment.UserName + ".info", false, Encoding.GetEncoding(1251)); sw.Write("Date: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\nMashine: " + Environment.MachineName + "\nUser: "******"\nAdmin mod: " + Application.ProductVersion); sw.Close(); } catch { } if (!Checking.checkVersion(Modules.Administrator, 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_login_ok = false; bool tmp_exit = false; // Проверяем, если есть ограничение на запуск одной копии и программа уже запущена if ((app.Search_twin()) && (prop.Run_one_copy_admin)) { // То выдаем сообщение и закрываем программу MessageBox.Show("Программа уже запущена!"); 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 { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); // Опять пробуем подключиться к базе 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) { // открываем окно запроса пользователя PSA.Lib.Interface.frmLogin fLogin = new PSA.Lib.Interface.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.prmCanLoginAdmin) { this.Show(); } else { tmp_exit = true; MessageBox.Show("Доступ в модуль администратора заперщен!", "Вход в программу", MessageBoxButtons.OK, MessageBoxIcon.Error); } break; } } } if (!tmp_exit) { // если мы уже тут, значит пароль все же угадали // Получаем данные о пользователе usr = fLogin.usr; // Показываем окно this.Focus(); this.Text = "Администратор - " + usr.Name + " - Photoland System Automation " + Application.ProductVersion; // запрос на не поддтвержденные списания SqlCommand _cmd = new SqlCommand("SELECT COUNT(*) AS cnt FROM (SELECT TOP (100) PERCENT dbo.orderbody.datework, dbo.[order].number, dbo.defect.defect_name, dbo.orderbody.name_work, dbo.orderbody.user_defect, dbo.orderbody.defect_quantity, dbo.orderbody.defect_ok, dbo.good.name AS good FROM dbo.orderbody LEFT OUTER JOIN dbo.good ON dbo.orderbody.id_good = dbo.good.id_good LEFT OUTER JOIN dbo.defect ON dbo.orderbody.tech_defect = dbo.defect.defect_code LEFT OUTER JOIN dbo.[order] ON dbo.orderbody.id_order = dbo.[order].id_order WHERE (dbo.orderbody.tech_defect > 0) AND dbo.orderbody.id_user_work > 0) AS derivedtbl_1", db_connection); _cmd.CommandTimeout = 9000; if ((int)_cmd.ExecuteScalar() > 0) MessageBox.Show("Внимание!\nЕсть не подтвержденные списания!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { Application.Exit(); } } else { Application.Exit(); } } }
private void frmMain_Load(object sender, EventArgs e) { try { StreamWriter sw = new StreamWriter(prop.Dir_net_export + "\\Designer_" + Environment.MachineName + "_" + Environment.UserName + ".info", false, Encoding.GetEncoding(1251)); sw.Write("Date: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\nMashine: " + Environment.MachineName + "\nUser: "******"\nDesigner mod: " + Application.ProductVersion); sw.Close(); } catch { } if (!Checking.checkVersion(Modules.Designer, 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_login_ok = false; bool tmp_exit = false; tmr.Interval = prop.UpdateOrderTableInDesigner * 1000; tmr.Stop(); hidewin = false; this.TopMost = prop.Mod_designer_top_most; // Проверяем, если есть ограничение на запуск одной копии и программа уже запущена if ((app.Search_twin()) && (prop.Run_one_copy_designer)) { // То выдаем сообщение и закрываем программу MessageBox.Show("Программа уже запущена!"); globalexit = true; Application.Exit(); } else { this.TopMost = 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 { this.TopMost = false; frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); // Опять пробуем подключиться к базе db_connection.ConnectionString = prop.Connection_string; db_connection.Open(); this.TopMost = prop.Mod_designer_top_most; } catch (Exception exc) { ErrorNfo.WriteErrorInfo(exc); // Если после второй попытки не удалось подключиться, то закрываем программу. MessageBox.Show("Ошибка подключения к базе данных!\n" + exc.Message + "\n" + exc.Source, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); tmp_exit = true; } } if (!tmp_exit) { // открываем окно запроса пользователя PSA.Lib.Interface.frmLogin fLogin = new PSA.Lib.Interface.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.prmCanLoginDesigner) { this.Show(); } else { tmp_exit = true; MessageBox.Show("Доступ в модуль оператора заперщен!", "Вход в программу", MessageBoxButtons.OK, MessageBoxIcon.Error); } break; } } } if (!tmp_exit) { // если мы уже тут, значит пароль все же угадали // Получаем данные о пользователе usr = fLogin.usr; this.Text = "Дизайнер - " + usr.Name + " - Photoland System Automation " + Application.ProductVersion; //запрашиваем машину и бумагу this.TopMost = false; //frmSelectMashineAndPaper f = new frmSelectMashineAndPaper(); //f.db_connection = this.db_connection; //f.ShowDialog(); this.TopMost = prop.Mod_designer_top_most; // Показываем окно this.Focus(); if (!usr.prmCanDelEditBrak) { btnDelBrak.Enabled = false; btnEditBrak.Enabled = false; } if (prop.Fly_window_designer) { HideWindow(); } // заполняем фильтры FillFilter(); // заполняем таблицу заказов FillOrderList(); // заполняем таблицу "браков" FillDiscardTable(); hidewin = true; ClearOrders(); tmr.Start(); } else { globalexit = true; Application.Exit(); } } else { globalexit = true; Application.Exit(); } this.TopMost = prop.Mod_designer_top_most; } }
private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { PSA.Lib.Interface.frmSetup f = new frmSetup(); f.ShowDialog(); settings = new PSA.Lib.Util.Settings(); }
private void OpenSettings() { this.TopMost = false; if (usr.prmCanSetup) { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); } else { MessageBox.Show("Нет доступа", "Доступ", MessageBoxButtons.OK, MessageBoxIcon.Warning); } this.TopMost = prop.Mod_designer_top_most; }
private void frmMain_Load(object sender, EventArgs e) { try { StreamWriter sw = new StreamWriter(prop.Dir_net_export + "\\Acceptance_" + Environment.MachineName + "_" + Environment.UserName + ".info", false, Encoding.GetEncoding(1251)); sw.Write("Date: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\nMashine: " + Environment.MachineName + "\nUser: "******"\nAcceptance mod: " + Application.ProductVersion); sw.Close(); } catch { } if (!Checking.checkVersion(Modules.Acceptance, 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"); if (!PSA.Lib.Util.Semaphore.semInventory) { bool tmp_login_ok = false; bool tmp_exit = false; // Проверяем, если есть ограничение на запуск одной копии и программа уже запущена if ((app.Search_twin()) && (prop.Run_one_copy_acceptance)) { // То выдаем сообщение и закрываем программу MessageBox.Show("Программа уже запущена!"); 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 { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); // Опять пробуем подключиться к базе prop = new PSA.Lib.Util.Settings(); 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) { // открываем окно запроса пользователя PSA.Lib.Interface.frmLogin fLogin = new PSA.Lib.Interface.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(); this.Text = "Приемка - " + usr.Name + " - Photoland System Automation " + Application.ProductVersion; if (prop.ShowQuickOrder) { toolQuick.Visible = true; toolStripQuick.Visible = true; } else { toolQuick.Visible = false; toolStripQuick.Visible = false; } if (prop.ShowMFoto) { toolMFoto.Visible = true; toolStripQuick.Visible = true; } else { toolMFoto.Visible = false; toolStripQuick.Visible = false; } } else { Application.Exit(); } } else { Application.Exit(); } } } else { MessageBox.Show("В момент проведения инвентаризации вход в модуль запрещен!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.Exit(); } }
private void OpenSettings() { if (usr.prmCanSetup) { frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); } else { MessageBox.Show("Нет доступа", "Доступ", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void frmMain_Load(object sender, EventArgs e) { try { StreamWriter sw = new StreamWriter(prop.Dir_export + "\\Operator_" + Environment.MachineName + "_" + Environment.UserName + ".info", false, Encoding.GetEncoding(1251)); sw.Write("Date: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\nMashine: " + Environment.MachineName + "\nUser: "******"\nOperator mod: " + Application.ProductVersion); sw.Close(); } catch { } if (!Checking.checkVersion(Modules.Operator, 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_login_ok = false; bool tmp_exit = false; if(!PSA.Lib.Util.Semaphore.semInventory) { tmr.Interval = prop.UpdateOrderTableInOperator*1000; tmr.Stop(); hidewin = false; this.TopMost = prop.Mod_operator_top_most; // Проверяем, если есть ограничение на запуск одной копии и программа уже запущена if ((app.Search_twin()) && (prop.Run_one_copy_oprator)) { // То выдаем сообщение и закрываем программу MessageBox.Show("Программа уже запущена!"); globalexit = true; Application.Exit(); } else { this.TopMost = 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 { this.TopMost = false; frmSetup fOptions = new frmSetup(); fOptions.ShowDialog(); prop = new PSA.Lib.Util.Settings(); // Опять пробуем подключиться к базе db_connection.ConnectionString = prop.Connection_string; db_connection.Open(); this.TopMost = prop.Mod_operator_top_most; } catch (Exception exc) { ErrorNfo.WriteErrorInfo(exc); // Если после второй попытки не удалось подключиться, то закрываем программу. MessageBox.Show("Ошибка подключения к базе данных!\n" + exc.Message + "\n" + exc.Source, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); tmp_exit = true; } } if (!tmp_exit) { // открываем окно запроса пользователя PSA.Lib.Interface.frmLogin fLogin = new PSA.Lib.Interface.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.prmCanLoginOperator) { this.Show(); } else { tmp_exit = true; MessageBox.Show("Доступ в модуль оператора заперщен!", "Вход в программу", MessageBoxButtons.OK, MessageBoxIcon.Error); } break; } } } if (!tmp_exit) { // если мы уже тут, значит пароль все же угадали // Получаем данные о пользователе usr = fLogin.usr; this.Text = "Оператор - " + usr.Name + " - Photoland System Automation " + Application.ProductVersion; txtDateCounter1.Value = DateTime.Now.AddDays(-10); txtDateCounter2.Value = DateTime.Now; //запрашиваем машину и бумагу this.TopMost = false; frmSelectMashineAndPaper f = new frmSelectMashineAndPaper(); f.db_connection = this.db_connection; f.ShowDialog(); this.TopMost = prop.Mod_operator_top_most; if (f.DialogResult == System.Windows.Forms.DialogResult.OK) { usr.Id_Mashine = f.txtMashine.SelectedValue.ToString(); usr.Mashine = f.txtMashine.Text; //usr.Id_Paper = f.txtPaper.SelectedValue.ToString(); //usr.Paper = f.txtPaper.Text; SqlCommand _counter_cmd = new SqlCommand(); _counter_cmd.Connection = db_connection; _counter_cmd.CommandTimeout = 9000; _counter_cmd.CommandText = "SELECT id_counter, id_mashine, id_user, name_user, c1, c1date, c2, c2date, c0 " + "FROM dbo.counters " + "WHERE (id_counter = " + "(SELECT MAX(id_counter) AS id " + "FROM dbo.counters AS counters_1 " + "WHERE (id_mashine = '" + usr.Id_Mashine.Trim() + "')))"; SqlDataAdapter _counter_da = new SqlDataAdapter(_counter_cmd); DataTable _counter_tbl = new DataTable(); _counter_da.Fill(_counter_tbl); bool stop = false; if (_counter_tbl.Rows.Count > 0) { if ((_counter_tbl.Rows[0]["c2"].ToString() == "") && (_counter_tbl.Rows[0]["c2date"].ToString() == "")) { if (MessageBox.Show("Прошлый счетчик, открытый " + _counter_tbl.Rows[0]["c1date"].ToString() + " пользователем " + _counter_tbl.Rows[0]["name_user"].ToString().Trim() + " не был закрыт!\n" + "Автоматически закрываем значением " + f.txtCounter.Value.ToString() + "?", "Закрытие счетчика", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { _counter_cmd.CommandText = "UPDATE [counters] SET c2 = " + f.txtCounter.Value.ToString() + ", c2date = getdate(), c0 = (SELECT(ISNULL((" + "SELECT SUM(CASE tech_defect " + "WHEN 0 THEN actual_quantity " + "WHEN 1 THEN defect_quantity " + "WHEN 2 THEN defect_quantity " + "WHEN 3 THEN defect_quantity " + "WHEN 4 THEN 0 " + "WHEN 5 THEN defect_quantity " + "WHEN 6 THEN defect_quantity " + "WHEN 7 THEN 0 " + "WHEN 8 THEN defect_quantity " + "WHEN 9 THEN 0 " + "WHEN 10 THEN 0 " + "END)" + "FROM dbo.orderbody " + "WHERE (datework >= " + "(SELECT c1date " + "FROM dbo.counters " + "WHERE (id_counter = " + _counter_tbl.Rows[0]["id_counter"].ToString() + "))) AND (datework <= GETDATE()) AND (id_user_work = " + usr.Id_user + ") AND (id_mashine = N'" + usr.Id_Mashine.Trim() + "')" + "), 0))) " + "WHERE id_counter = " + _counter_tbl.Rows[0]["id_counter"].ToString(); _counter_cmd.ExecuteNonQuery(); } else { stop = true; } } } if (!stop) { _counter_cmd.CommandText = "INSERT INTO [counters] (id_mashine, id_user, name_user, c1, c1date) VALUES ('" + usr.Id_Mashine + "', " + usr.Id_user + ", '" + usr.Name.Trim() + "', " + f.txtCounter.Value.ToString() + ", getdate())"; _counter_cmd.ExecuteNonQuery(); _counter1 = long.Parse(f.txtCounter.Value.ToString()); _counter1Date = DateTime.Now; recalcCounter(true); lblMashine.Text = usr.Mashine.Trim(); //lblPaper.Text = usr.Paper.Trim(); // Показываем окно this.Focus(); if (!usr.prmCanDelEditBrak) { btnDelBrak.Enabled = false; btnEditBrak.Enabled = false; btnEditBrak1.Enabled = false; btnDelBrak1.Enabled = false; } if (prop.Fly_window_operator) { this.Top = (-1) * (this.Height - 10); } // заполняем фильтры FillFilter(); // заполняем таблицу заказов FillOrderList(); // заполняем таблицу "браков" FillTehAction(); FillDiscardTable(); FillCounters(); hidewin = true; ClearOrders(); tmr.Start(); } else { globalexit = true; Application.Exit(); } } else { globalexit = true; Application.Exit(); } } else { globalexit = true; Application.Exit(); } } else { globalexit = true; Application.Exit(); } this.TopMost = prop.Mod_operator_top_most; } } else { MessageBox.Show("В момент проведения инвентаризации вход в модуль запрещен!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning); globalexit = true; hidewin = false; Application.Exit(); } }
private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { using(PSA.Lib.Interface.frmSetup frm = new PSA.Lib.Interface.frmSetup()) { frm.ShowDialog(); settings = new Settings(); } }