예제 #1
0
        private async void btnLoadAllMachine_Click(object sender, EventArgs e)
        {
            waitForm.Show(main_parent);
            WebRequest          request     = new WebRequest();
            HttpResponseMessage httpmachine = request.getmachine().Result;
            HttpResponseMessage httpzone    = request.getzone().Result;
            HttpResponseMessage httpline    = request.getline().Result;
            HttpResponseMessage httpprocess = request.getprocess().Result;
            HttpResponseMessage httpmodel   = request.getmodel().Result;
            string machinedata = await httpmachine.Content.ReadAsStringAsync();

            string zonedata = await httpzone.Content.ReadAsStringAsync();

            string linedata = await httpline.Content.ReadAsStringAsync();

            string modeldata = await httpmodel.Content.ReadAsStringAsync();

            string processdata = await httpprocess.Content.ReadAsStringAsync();

            if (chbdatabase.Checked)
            {
                try
                {
                    machines = JsonConvert.DeserializeObject <List <Proc_Machines_Result> >(machinedata);
                    zones    = JsonConvert.DeserializeObject <List <Proc_FindAll_CM_Zone_Result> >(zonedata);
                    lines    = JsonConvert.DeserializeObject <List <Proc_FindAll_CM_Line_Result> >(linedata);
                    models   = JsonConvert.DeserializeObject <List <Proc_FindAll_CM_Model_Result> >(modeldata);
                    process  = JsonConvert.DeserializeObject <List <Proc_FindAll_CM_Process_Result> >(processdata);
                    procMachinesResultBindingSource.DataSource = machines;
                    cMZoneBindingSource.DataSource             = zones;
                    cMLineBindingSource.DataSource             = lines;
                    cMModelBindingSource.DataSource            = models;
                    cMProcessBindingSource.DataSource          = process;
                    lblquantitymc.Text = machines.Count.ToString();
                }
                catch (Exception ex)
                {
                    MetroFramework.MetroMessageBox.Show(this, ex.Message, "Information");
                }
            }
            waitForm.Close();
        }
        //Большущая кнопка "Сгенерировать"
        private void b_gen_Click(object sender, EventArgs e)
        {
            if (!PathsAreCorrect())
            {
                return;                     //Проверка введенных путей
            }
            //Генерируем тексты вариантов и ответы к ним
            List <TestVersion> testVersions = GenerateTestVersions(num_of_versions_.Value);


            //Сохраняем тексты вариантов
            _waitWindow.Show();
            foreach (TestVersion version in testVersions)
            {
                if (_usersConfirmFormResult == DialogResult.Cancel && _applyToAll == true)
                {
                    return;                                                                        //Если пользователь отменил
                }
                //сохранение всех файлов
                //выходим
                _workWithWordDelegate d      = new _workWithWordDelegate(SaveToWordFile);
                IAsyncResult          result = d.BeginInvoke(way_for_versions_.Text, version.VersionText, version.VersionNum,
                                                             FileContent.Tasks, null, null);
                d.EndInvoke(result);
            }

            //Сохраняем ответы
            foreach (TestVersion version in testVersions)
            {
                if (_usersConfirmFormResult == DialogResult.Cancel && _applyToAll == true)
                {
                    return;                                                                        //Если пользователь отменил
                }
                //сохранение всех файлов
                //выходим
                _workWithWordDelegate d      = new _workWithWordDelegate(SaveToWordFile);
                IAsyncResult          result = d.BeginInvoke(way_for_versions_.Text, version.AnswersText, version.VersionNum,
                                                             FileContent.Answers, null, null);
                d.EndInvoke(result);
            }
            _waitWindow.Close();

            _usersConfirmFormResult = DialogResult.None;
            _applyToAll             = false;
        }
예제 #3
0
        private void mergeToOneFile()           // function to merge to one file
        {
            WaitWndFun waitForm = new WaitWndFun();

            waitForm.Show();

            string destFile = lsFileNames[0];

            destFile.Remove(destFile.IndexOf('.'));

            destFile += "_merged.accdb";        //get destination file name

            System.IO.File.Copy(lsFileNames[0], destFile, true);

            //get db connection for destination file
            MyAccessDBController destDbController = new MyAccessDBController(destFile);

            //clear all tables except selected table
            destDbController.dropAllTablesExceptSelectedTable(strTableName);

            List <string> mergedColumns = new List <string>();

            Dictionary <string, OleDbType> columnDataTypes = new Dictionary <string, OleDbType>();

            // get necessary columns which will be merged
            for (int i = 0; i < gridColumns.Rows.Count; i++)
            {
                //get column type
                string column = gridColumns.Rows[i].Cells[1].Value.ToString();

                mergedColumns.Add(column);
                columnDataTypes[column] = destDbController.getColumnType(column, strTableName);
            }


            //delete all columns except multiple columns
            destDbController.dropNotNecessaryColumns(mergedColumns, strTableName);

            //clear all records
            destDbController.makeEmptyTable(strTableName);


            outputPane.AppendText("Destination File : " + destFile + Environment.NewLine + Environment.NewLine);

            int totalLines = 0;

            // merge records one by one
            foreach (string fileName in lsFileNames)
            {
                int copiedLines = 0, skippedLines = 0;

                MyAccessDBController dbController = new MyAccessDBController(fileName);

                OleDbDataReader reader            = dbController.getRecordReader(mergedColumns, strTableName);

                while (reader.Read())
                {
                    List <KeyValuePair <string, object> > record = new List <KeyValuePair <string, object> >();

                    int iterIndex = 0;
                    foreach (string column in mergedColumns)
                    {
                        record.Add(new KeyValuePair <string, object>(column, reader[column]));    // add to value list
                    }
                    for (iterIndex = 0; iterIndex < record.Count; iterIndex++)
                    {
                        if (record[iterIndex].Key == strIterColumnName)
                        {
                            break;
                        }
                    }

                    string quato = "";

                    switch (columnDataTypes[record[iterIndex].Key])
                    {
                    case OleDbType.Char:
                    case OleDbType.Binary:
                    case OleDbType.WChar:
                    case OleDbType.VarChar:
                    case OleDbType.LongVarChar:
                    case OleDbType.VarWChar:
                    case OleDbType.LongVarWChar:
                    case OleDbType.VarBinary:
                    case OleDbType.LongVarBinary:
                        quato = "\'";
                        break;
                    }

                    if (record[iterIndex].Value.ToString() == "")
                    {
                        continue;
                    }

                    if (!destDbController.isExistField(record[iterIndex].Value.ToString(), strIterColumnName, strTableName, quato))
                    {
                        destDbController.insertRecord(record, strTableName);
                        copiedLines++;
                    }
                    else
                    {
                        skippedLines++;
                    }
                }

                outputPane.AppendText(copiedLines.ToString() + " lines are copied from " + fileName + Environment.NewLine);
                outputPane.AppendText(skippedLines.ToString() + " lines are skipped from " + fileName + Environment.NewLine);

                outputPane.AppendText(Environment.NewLine);

                totalLines += copiedLines;
            }

            waitForm.Close();
            outputPane.AppendText(Environment.NewLine + "Total Lines: " + totalLines.ToString() + Environment.NewLine);

            MessageBox.Show("Merge Completed");
        }
예제 #4
0
        private async void onLogin_Click(object sender, EventArgs e)
        {
            waitForm.Show(main_parent);
            if (string.IsNullOrEmpty(txtPassword.Text.Trim()))
            {
                MetroFramework.MetroMessageBox.Show(this, "Please input password", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (string.IsNullOrEmpty(txtUsername.Text.Trim()))
            {
                MetroFramework.MetroMessageBox.Show(this, "Please input Username", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            WebRequest          request = new WebRequest();
            HttpResponseMessage acc     = request.getaccount().Result;
            string account = await acc.Content.ReadAsStringAsync();

            var accounts = JsonConvert.DeserializeObject <List <CM_Account> >(account);

            var passmd5    = Helpers.ToMD5(txtPassword.Text.Trim());
            var user_valid = accounts.Exists(a => a.GEN.Trim() == txtUsername.Text.Trim() && a.password.Trim() == passmd5);

            if (user_valid)
            {
                if (chkmemo.Checked)
                {
                    if (Helpers.isExistsSetting("remembercheck"))
                    {
                        Helpers.SetSetting("remembercheck", "1");
                        Helpers.SetSetting("username", txtUsername.Text.Trim());
                    }
                    else
                    {
                        Helpers.AddSetting("remembercheck", "1");
                        Helpers.AddSetting("username", txtUsername.Text.Trim());
                    }
                }
                else
                {
                    if (Helpers.isExistsSetting("remembercheck"))
                    {
                        Helpers.SetSetting("remembercheck", "0");
                        Helpers.SetSetting("username", txtUsername.Text.Trim());
                    }
                    else
                    {
                        Helpers.AddSetting("remembercheck", "0");
                        Helpers.AddSetting("username", txtUsername.Text.Trim());
                    }
                }
                UDllUpdate dashboard = new UDllUpdate();
                dashboard.Dock = DockStyle.Fill;
                Main.Instance.MetroContainer.Controls.Clear();
                Main.Instance.MetroContainer.Controls.Add(dashboard);
            }
            else
            {
                MetroFramework.MetroMessageBox.Show(this, "Please check user or password", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Clear_Input();
            }
            waitForm.Close();
        }