Example #1
0
 public DataAccess()
 {
     Settings settings = new Settings();
     if (settings.Connection_string == "")
     {
         throw new ApplicationException("Пропущено определение строки подключения к базе данных.");
     }
     else
     {
         _connectionString = settings.Connection_string;
     }
 }
Example #2
0
        private void frmSelectStatus_Load(object sender, EventArgs e)
        {
            Settings prop = new Settings();
            SqlConnection db_connection = new SqlConnection(prop.Connection_string);
            SqlCommand cmd = new SqlCommand("SELECT order_status, status_desc FROM order_status ORDER BY status_desc", db_connection);
            DataTable tbl = new DataTable("t");
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(tbl);

            DataRow rw = tbl.NewRow();
            rw[0] = "-1";
            rw[1] = "< НЕ ВЫБРАНО >";
            tbl.Rows.InsertAt(rw, 0);

            txtStatus.DataSource = tbl;
            txtStatus.DisplayMember = "status_desc";
            txtStatus.ValueMember = "order_status";

            CheckAccess();
        }
Example #3
0
        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();
            }
        }
Example #4
0
        public static bool checkVersion(Modules Module, string version)
        {
            bool ret = false;
            try
            {
                Settings sett = new Settings();
                ftpClient ftp = new ftpClient(sett.FTP_Server, sett.FTP_User, sett.FTP_Password);
                foreach(String file in ftp.GetFileList(sett.FTP_Path))
                {
                    if(file == "info.version")
                    {
                        ftp.Download(Environment.GetEnvironmentVariable("TEMP"), "info.version", sett.FTP_Path, "info.version");
                        ini ver = new ini(Environment.GetEnvironmentVariable("TEMP") + "\\info.version");
                        switch(Module)
                        {
                            case Modules.Acceptance:
                                {
                                    if (ver.IniReadValue("version", "Acceptance", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Administrator:
                                {
                                    if (ver.IniReadValue("version", "Administrator", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Designer:
                                {
                                    if (ver.IniReadValue("version", "Designer", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Operator:
                                {
                                    if (ver.IniReadValue("version", "Operator", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Robot:
                                {
                                    if (ver.IniReadValue("version", "Robot", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Inventory:
                                {
                                    if (ver.IniReadValue("version", "Inventory", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Kiosk:
                                {
                                    if (ver.IniReadValue("version", "Kiosk", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            case Modules.Exchanger:
                                {
                                    if (ver.IniReadValue("version", "Exchanger", "0").Trim() != version)
                                        ret = false;
                                    else
                                        ret = true;
                                    break;
                                }
                            default:
                                {
                                    ret = false;
                                    break;
                                }
                        }
                    }
                }
                //ret = true;
            }
            catch (Exception ex)
            {
                ret = true;
            }
            finally
            {

            }
            return ret;
        }
Example #5
0
 private void mnuSetup_Click(object sender, EventArgs e)
 {
     frmSetup f = new frmSetup();
     f.ShowDialog();
     prop = new PSA.Lib.Util.Settings();
 }
Example #6
0
        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();
                }
            }
        }
Example #7
0
        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();
                }

            }
        }
Example #8
0
 private void settingsToolStripMenuItem_Click(object sender, EventArgs e)
 {
     using(PSA.Lib.Interface.frmSetup frm = new PSA.Lib.Interface.frmSetup())
     {
         frm.ShowDialog();
         settings = new Settings();
     }
 }
Example #9
0
        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;
            }
        }
Example #10
0
 private void semaphoresToolStripMenuItem_Click(object sender, EventArgs e)
 {
     this.TopMost = false;
     if (usr.prmCanSetup)
     {
         frmSemaphores fOptions = new frmSemaphores();
         fOptions.ShowDialog();
         prop = new PSA.Lib.Util.Settings();
     }
     else
     {
         MessageBox.Show("Нет доступа", "Доступ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     this.TopMost = prop.Mod_designer_top_most;
 }
Example #11
0
 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;
 }
Example #12
0
        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();
            }
        }
Example #13
0
 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);
     }
 }
Example #14
0
        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();
            }
        }
Example #15
0
 private void OpenSettings()
 {
     frmSetup fOptions = new frmSetup();
     fOptions.ShowDialog();
     prop = new PSA.Lib.Util.Settings();
 }
Example #16
0
 private void NewInventory()
 {
     frmDialogYesNo f = new frmDialogYesNo();
     f.Message = "Начать инвентаризацию?\nВход в другие модули будет запрещен!";
     f.Title = "Инвентаризация";
     f.ShowDialog();
     if (f.DialogResult == DialogResult.Yes)
     {
         PSA.Lib.Util.Semaphore.semInventory = true;
         settings = new Settings();
         frmInventoryDoc fi = new frmInventoryDoc(usr);
         fi.Title = "Новый документ инвентаризации";
         fi.ShowDialog();
     }
 }
Example #17
0
 private void semaphoresToolStripMenuItem_Click(object sender, EventArgs e)
 {
     frmSemaphores fOptions = new frmSemaphores();
     fOptions.ShowDialog();
     prop = new PSA.Lib.Util.Settings();
 }
Example #18
0
 private void settingsToolStripMenuItem_Click(object sender, EventArgs e)
 {
     PSA.Lib.Interface.frmSetup f = new frmSetup();
     f.ShowDialog();
     settings = new PSA.Lib.Util.Settings();
 }
Example #19
0
        public static void autoExport(int type, string order_id)
        {
            Settings prop = new Settings();
            SqlConnection db_connection = new SqlConnection();

            db_connection.ConnectionString = prop.Connection_string;
            db_connection.Open();

            bool finalStatus = false;
            if (type == 2)
            {
                finalStatus = true;
            }
            else
            {
                finalStatus = false;
            }

            string file = "";

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "SELECT [id_order], id_user_accept, id_user_operator, id_user_designer, id_user_delivery, id_client, guid, del, name_accept, name_operator, name_designer, name_delivery, status, number, input_date, expected_date, output_date, advanced_payment, final_payment, discont_percent, discont_code, preview, comment, crop, type, exported, [id_order], [konvert] FROM [order] WHERE (number IN ('" + order_id + "'))";
            cmd.Connection = db_connection;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable t = new DataTable("order");
            da.Fill(t);
            if (t.Rows.Count > 0)
            {
                for (int i = 0; i < t.Rows.Count; i++)
                {
                    string y = DateTime.Parse(t.Rows[i]["input_date"].ToString()).Year.ToString();
                    string m = DateTime.Parse(t.Rows[i]["input_date"].ToString()).Month < 10
                                   ? "0" +
                                     DateTime.Parse(t.Rows[i]["input_date"].ToString()).Month.
                                         ToString()
                                   : DateTime.Parse(t.Rows[i]["input_date"].ToString()).Month.
                                         ToString();
                    string d = DateTime.Parse(t.Rows[i]["input_date"].ToString()).Day < 10
                                   ? "0" +
                                     DateTime.Parse(t.Rows[i]["input_date"].ToString()).Day.
                                         ToString()
                                   : DateTime.Parse(t.Rows[i]["input_date"].ToString()).Day.
                                         ToString();

                    if (!Directory.Exists(prop.Dir_export + "\\auto_export\\"))
                        Directory.CreateDirectory(prop.Dir_export + "\\auto_export");
                    if (!Directory.Exists(prop.Dir_export + "\\auto_export\\" + t.Rows[i]["number"].ToString().Trim() + "\\"))
                        Directory.CreateDirectory(prop.Dir_export + "\\auto_export\\" + t.Rows[i]["number"].ToString().Trim());

                    file = prop.Dir_export + "\\auto_export\\" + t.Rows[i]["number"].ToString().Trim() + "\\" + t.Rows[i]["number"].ToString().Trim() + ".export";

                    FileInfo fli = new FileInfo(file);
                    StreamWriter fl = new StreamWriter(file, false, Encoding.GetEncoding(1251));
                    /*
                     *  0 id_user_accept,
                     *  1 id_user_operator,
                     *  2 id_user_designer,
                     *  3 id_user_delivery,
                     *  4 id_client,
                     *  5 guid,
                     *  6 del,
                     *  7 name_accept,
                     *  8 name_operator,
                     *  9 name_designer,
                     * 10 name_delivery,
                     * 11 status,
                     * 12 number,
                     * 13 input_date,
                     * 14 expected_date,
                     * 15 output_date,
                     * 16 advanced_payment,
                     * 17 final_payment,
                     * 18 discont_percent,
                     * 19 discont_code,
                     * 20 preview,
                     * 21 comment,
                     * 22 crop,
                     * 23 type,
                     * 24 exported
                     */
                    string _status = t.Rows[i][12].ToString().Trim();
                    if (_status == "100000")
                    {
                        //if(MessageBox.Show("Заказ № " + t.Rows[i][13].ToString().Trim() + " экспортируется в статусе \"Выдано\", экспортировать его в статусе \"На предпросмотре\"?", "Экспорт", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        //{
                        _status = "000010";
                        //}
                    }
                    CultureInfo ci = CultureInfo.InvariantCulture;
                    fl.WriteLine("[order]");
                    fl.WriteLine(t.Rows[i][0].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][1].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][2].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][3].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][4].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][5].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][6].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][7].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][8].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][9].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][10].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][11].ToString().Trim().Replace(";", " ") + ";" +
                                                     _status + ";" +
                                                     t.Rows[i][13].ToString().Trim().Replace(";", " ") + ";" +
                                                     ((t.Rows[i][14].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][14]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" +
                                                     ((t.Rows[i][15].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][15]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" +
                                                     ((t.Rows[i][16].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][16]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][17].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][18].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][19].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][20].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][21].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][22].ToString().Trim().Replace(";", " ").Replace("!Экспорт", "") + ";" +
                                                     t.Rows[i][23].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][24].ToString().Trim().Replace(";", " ") + ";" +
                                                     t.Rows[i][25].ToString().Trim().Replace(";", " "));

                    if (t.Rows[i][27].ToString().Trim() == "1")
                    {
                        FileStream __file = File.Create(prop.Dir_export + "\\auto_export\\" + t.Rows[i]["number"].ToString().Trim() + "\\" + ".k");
                        __file.Close();
                    }

                    //GridOder.Rows[i + 2].Style = GridOder.Styles["Normal"];
                    if (finalStatus)
                    {
                        SqlCommand cmd_write =
                            new SqlCommand(
                                "UPDATE [order] SET [comment] = '" + t.Rows[i][22].ToString().Replace("!Экспорт", "").Trim() +
                                "', [status] = '100000' WHERE [id_order] = " + t.Rows[i][26].ToString().Trim(), db_connection);
                        cmd_write.ExecuteNonQuery();
                    }
                    else
                    {
                        SqlCommand cmd_write =
                            new SqlCommand(
                                "UPDATE [order] SET [comment] = '!Экспорт " + t.Rows[i][22].ToString().Replace("!Экспорт", "").Trim() +
                                "' WHERE [id_order] = " + t.Rows[i][26].ToString().Trim(), db_connection);
                        cmd_write.ExecuteNonQuery();
                    }

                    fl.WriteLine("[order body]");
                    SqlCommand rcmd = new SqlCommand();
                    rcmd.CommandText = "SELECT [id_order], [id_mashine], [id_material], [id_good], [guid], [del], [quantity], [actual_quantity], [sign], [price], [dateadd], [id_user_add], [name_add], [datework], [id_user_work], [name_work], [defect_quantity], [id_user_defect], [user_defect], [tech_defect], [exported] FROM [orderbody] WHERE ([id_order] in (" + t.Rows[i][0].ToString().Trim() + "))";
                    rcmd.Connection = db_connection;
                    SqlDataAdapter rda = new SqlDataAdapter(rcmd);
                    DataTable rt = new DataTable("order");
                    rda.Fill(rt);
                    if (rt.Rows.Count > 0)
                    {
                        for (int ii = 0; ii < rt.Rows.Count; ii++)
                        {
                            /*
                             *  0 [id_order],
                             *  1 [id_mashine],
                             *  2 [id_material],
                             *  3 [id_good],
                             *  4 [guid],
                             *  5 [del],
                             *  6 [quantity],
                             *  7 [actual_quantity],
                             *  8 [sign],
                             *  9 [price],
                             * 10 [dateadd],
                             * 11 [id_user_add],
                             * 12 [name_add],
                             * 13 [datework],
                             * 14 [id_user_work],
                             * 15 [name_work],
                             * 16 [defect_quantity],
                             * 17 [id_user_defect],
                             * 18 [user_defect],
                             * 19 [tech_defect],
                             * 20 [exported]
                             */
                            //Application.DoEvents();

                            fl.WriteLine(rt.Rows[ii][0].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][1].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][2].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][3].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][4].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][5].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][6].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][7].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][8].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][9].ToString().Trim().Replace(";", " ") + ";" +
                                                             ((rt.Rows[ii][10].GetType().Name == "DBNull") ? "" : ((DateTime)rt.Rows[ii][10]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][11].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][12].ToString().Trim().Replace(";", " ") + ";" +
                                                             ((rt.Rows[ii][13].GetType().Name == "DBNull") ? "" : ((DateTime)rt.Rows[ii][13]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][14].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][15].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][16].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][17].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][18].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][19].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][20].ToString().Trim().Replace(";", " "));

                        }
                    }

                    fl.WriteLine("[order events]");
                    //AddEvent("Заказ был экспортирован", int.Parse(t.Rows[i][0].ToString().Trim()));
                    rcmd = new SqlCommand();
                    rcmd.CommandText = "SELECT [id_orderevent], [del], [guid], [id_order], [event_date], [event_user], [event_status], [event_point], [event_text] FROM [dbo].[orderevent] WHERE ([id_order] in (" + t.Rows[i][0].ToString().Trim() + "))";
                    rcmd.Connection = db_connection;
                    rda = new SqlDataAdapter(rcmd);
                    rt = new DataTable("order");
                    rda.Fill(rt);
                    if (rt.Rows.Count > 0)
                    {
                        for (int ii = 0; ii < rt.Rows.Count; ii++)
                        {
                            /*
                             *  [id_orderevent],
                             *  [del],
                             *  [guid],
                             *  [id_order],
                             *  [event_date],
                             *  [event_user],
                             *  [event_status],
                             *  [event_point],
                             *  [event_text]
                             */
                            //Application.DoEvents();

                            fl.WriteLine(rt.Rows[ii][0].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][1].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][2].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][3].ToString().Trim().Replace(";", " ") + ";" +
                                                             ((rt.Rows[ii][4].GetType().Name == "DBNull") ? "" : ((DateTime)rt.Rows[ii][4]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][5].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][6].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][7].ToString().Trim().Replace(";", " ") + ";" +
                                                             rt.Rows[ii][8].ToString().Trim().Replace(";", " "));

                        }
                    }

                    StreamWriter batw =
                        new StreamWriter(file + ".bat", false, Encoding.GetEncoding(866));
                    batw.WriteLine("@echo off\n");
                    batw.WriteLine("mkdir edit\n");
                    batw.WriteLine("mkdir print\n");
                    //////////////
                    batw.WriteLine("echo Копируются файлы для печати заказа № " +
                                   t.Rows[i]["number"].ToString().Trim());
                    batw.WriteLine("xcopy \"" + prop.Dir_print + "\\" + y + "\\" + m + "\\" + d +
                                   "\\" + t.Rows[i]["number"].ToString().Trim() + "\\*.*" +
                                   "\" print\\" + t.Rows[i]["number"].ToString().Trim() +
                                   "\\ /E /Y");
                    batw.WriteLine("echo Копируются файлы для обработки заказа № " +
                                   t.Rows[i]["number"].ToString().Trim());
                    batw.WriteLine("xcopy \"" + prop.Dir_edit + "\\" + y + "\\" + m + "\\" + d +
                                   "\\" + t.Rows[i]["number"].ToString().Trim() + "\\*.*" +
                                   "\" edit\\" + t.Rows[i]["number"].ToString().Trim() +
                                   "\\ /E /Y");
                    batw.Close();
                    if (File.Exists(file + ".bat"))
                    {
                        System.Diagnostics.Process pr = new System.Diagnostics.Process();
                        pr.StartInfo.WorkingDirectory = fli.DirectoryName;
                        pr.StartInfo.FileName = file + ".bat";
                        pr.Start();
                        pr.WaitForExit();
                    }
                    fl.Close();
                }

            }

            //System.Diagnostics.Process pre = new System.Diagnostics.Process();
            //pre.StartInfo.WorkingDirectory = System.Environment.GetEnvironmentVariables()["SystemRoot"].ToString();
            //pre.StartInfo.Arguments = (new FileInfo(file).Directory.ToString());
            //pre.StartInfo.FileName = "explorer.exe";
            //pre.Start();
        }
Example #20
0
 private void btnSelectQBtn9_Click(object sender, EventArgs e)
 {
     try
     {
         Util.Settings p = new Util.Settings();
         frmSelectService fsel = new frmSelectService(new SqlConnection(p.Connection_string), false, "");
         fsel.ShowDialog();
         if (fsel.DialogResult == DialogResult.OK)
         {
             lblQbtn9_id.Text = fsel.id_serv.ToString();
             txtQbtn9_string.Text = fsel.text_serv;
             lblqbnts9.Text = fsel.stext_serv;
         }
         fsel.Close();
     }
     catch(Exception ex)
     {
         ErrorNfo.WriteErrorInfo(ex);
         MessageBox.Show("Необходимо установить соединение с бызой данных!\nПроверьте настройки, сохраните их попробуйте снова.");
     }
 }