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(); } } }
public frmInventoryDoc(Photoland.Security.User.UserInfo usr) { InitializeComponent(); this.Title = "Документ инвентаризации"; this.usr = usr; }
public frmVerificationDoc(Photoland.Security.User.UserInfo usr) { InitializeComponent(); this.Title = "Документ сверки"; this.usr = usr; }