예제 #1
0
        public void SaveInDataBase()
        {
            string sqlrefresh = "DELETE FROM namegroup";

            m_sqlCmd.CommandText = sqlrefresh;
            m_sqlCmd.ExecuteNonQuery();
            string sqlGo = @"INSERT INTO namegroup(little, big) VALUES ";

            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                sqlGo += "( '" + dataGridView1.Rows[i].Cells[0].Value.ToString() + "' , '" + dataGridView1.Rows[i].Cells[1].Value.ToString() + "' ),";
            }
            sqlGo = sqlGo.Remove(sqlGo.Length - 1);
            try
            {
                m_sqlCmd.CommandText = sqlGo;
                m_sqlCmd.ExecuteNonQuery();
                dTable = (DataTable)dataGridView1.DataSource;
                dTable.AcceptChanges();

                thisDT = dTable;
            }
            catch (SQLiteException)
            {
                Messege messege = new Messege("Ваша база пуста. Добавьте записи");
                messege.Show();
                return;
            }
            catch (System.NullReferenceException) { return; }
        }
예제 #2
0
 private List <string> GetNameOfPredmets()
 {
     try
     {
         string            dbFileNames         = "dbForNameGroup";
         string            tableName           = "namedirect";
         SQLiteConnection  m_dbConn            = OpenOrCreateDataBase(dbFileNames, tableName);
         DataTable         dTable              = new DataTable();
         List <string>     nameofDirectionToBe = new List <string>();
         string            sqlQuery            = "SELECT * FROM namedirect";
         SQLiteDataAdapter adapter             = new SQLiteDataAdapter(sqlQuery, m_dbConn);
         adapter.Fill(dTable);
         m_dbConn.Close();
         if (dTable.Rows.Count >= 0)
         {
             for (int i = 0; i < dTable.Rows.Count; i++)
             {
                 nameofDirectionToBe.Add(dTable.Rows[i].Field <string>(1));
             }
             return(nameofDirectionToBe);
         }
         return(nameofDirectionToBe);
     }
     catch (NullReferenceException)
     {
         Messege messege = new Messege("Ошибка соединения с базой данных");
         messege.Show();
         return(null);
     }
 }
예제 #3
0
        private void AddDBNameOfDirection(List <string> addNameOfPredmets)
        {
            try
            {
                if (addNameOfPredmets != null)
                {
                    try
                    {
                        List <string> namePredmetsToBe = GetNameOfPredmets();
                        foreach (string item in addNameOfPredmets)
                        {
                            namePredmetsToBe.Add(item);
                        }
                        var data = new HashSet <string>(namePredmetsToBe, StringComparer.OrdinalIgnoreCase);

                        string           dbFileNames = "dbForNameGroup";
                        string           tableName   = "namedirect";
                        SQLiteConnection m_dbConn    = OpenOrCreateDataBase(dbFileNames, tableName);
                        SQLiteCommand    m_sqlCmd    = new SQLiteCommand();
                        m_sqlCmd.Connection = m_dbConn;
                        string sqlrefresh = "DELETE FROM namedirect";
                        m_sqlCmd.CommandText = sqlrefresh;
                        m_sqlCmd.ExecuteNonQuery();
                        string sqlGo = "INSERT INTO namedirect (name) VALUES ";
                        foreach (string item in data)
                        {
                            sqlGo += "( '" + item + "' ),";
                        }
                        sqlGo = sqlGo.Remove(sqlGo.Length - 1);
                        try
                        {
                            m_sqlCmd.CommandText = sqlGo;
                            m_sqlCmd.ExecuteNonQuery();
                            m_dbConn.Close();
                        }
                        catch (SQLiteException)
                        {
                            Messege messege = new Messege("Ошибка соединения с базой данных");
                            messege.Show();
                        }
                    }
                    catch (NullReferenceException)
                    {
                        Messege messege = new Messege("Ошибка соединения с роботом. Возможно отсутствует подключение к Интернету");
                        messege.Show();
                    }

                    catch (SQLiteException)
                    {
                        Messege messege = new Messege("Ошибка соединения с базой данных");
                        messege.Show();
                    }
                }
            }
            catch (NullReferenceException)
            {
                Messege messege = new Messege("Ошибка соединения с роботом. Возможно отсутствует подключение к Интернету");
                messege.Show();
            }
        }
예제 #4
0
        private SQLiteConnection OpenOrCreateDataBase(string DbName, string TableName)
        {
            SQLiteConnection m_dbConn    = new SQLiteConnection();
            SQLiteCommand    m_sqlCmd    = new SQLiteCommand();
            string           dbFileNames = DbName;

            if (!File.Exists(dbFileNames))
            {
                SQLiteConnection.CreateFile(dbFileNames);
            }
            try
            {
                m_dbConn = new SQLiteConnection("Data Source=" + dbFileNames + ";Version=3;");
                m_dbConn.Open();
                m_sqlCmd.Connection  = m_dbConn;
                m_sqlCmd.CommandText = "CREATE TABLE IF NOT EXISTS " + TableName + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)";
                m_sqlCmd.ExecuteNonQuery();
                return(m_dbConn);
            }
            catch (SQLiteException)
            {
                Messege messege = new Messege("Ошибка соединения с базой данных");
                messege.Show();
                return(m_dbConn);
            }
        }
예제 #5
0
        async Task <string> CompliteCmdAsync()
        {
            try
            {
                label1.Text = "Загрузка..";
                string line;
                string ans = await System.Threading.Tasks.Task.Run(() => VKRListStudent());

                using (StreamReader sr = new StreamReader(Properties.Settings.Default.PathStringFolder + "JsonVKRStudents.txt", Encoding.GetEncoding(866)))
                {
                    line = sr.ReadToEnd();
                }
                label1.Text = "";
                return(line);
            }
            catch (System.NullReferenceException)
            {
                label1.Text = "";
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();
                return("err");
            }
            catch (Exception)
            {
                label1.Text = "";
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();
                return("err");
            }
        }
예제 #6
0
 private void BtnWordPdf_Click(object sender, EventArgs e)
 {
     if (ConnectionAvailable() == true)
     {
         bool session = true;
         if (comboBox1.SelectedIndex == 0)
         {
             session = false;
         }
         else
         {
             session = true;
         }
         if ((Properties.Settings.Default.KeyMachine == "") || (Properties.Settings.Default.URLUiPath == ""))
         {
             Messege messege = new Messege("Укажите URL Uipath и MachineKey в настройках UiPath");
             messege.Show();
         }
         else
         {
             InitializeOpenFileDialog("Все документы Word и Pdf (*.docx;*.doc;*.docm;*.dotx;*.dotm;*.doc;*.dot;*.htm;*.html;*.rtf;*.mht;*.mhtml;*.xml;*.odt;*.pdf;)|*.docx;*.doc;*.docm;*.dotx;*.dotm;*.doc;*.dot;*.htm;*.html;*.rtf;*.mht;*.mhtml;*.xml;*.odt;*.pdf;", "Выберите Word/Pdf файлы курсовых работ");
             SelectListOfPathsInOpenFileDialog(out pathsWordPdf);
             if (pathsWordPdf.Count > 0)
             {
                 Dictionary <string, string> keysforGr = GoDBForDictionary();
                 List <string> nameOfPredmets          = GetNameOfPredmets();
                 if (keysforGr.Count != 0)
                 {
                     if (nameOfPredmets.Count != 0)
                     {
                         label2.Text = "Обработка файлов...";
                         VRKWordPdfSort(keysforGr, nameOfPredmets, session);
                         label2.Text = "";
                     }
                     else
                     {
                         Messege messege = new Messege("Для начала работы требуется загрузить учебные планы.");
                         messege.Show();
                     }
                 }
                 else
                 {
                     return;
                 }
             }
             else
             {
                 return;
             }
         }
     }
     else
     {
         Messege messege = new Messege("Ошибка соединения с роботом. Возможно отсутствует подключение к Интернету");
         messege.Show();
     }
 }
예제 #7
0
        private string VKRCheck()
        {
            string cmd            = @"UiRobot.exe connect --url " + Properties.Settings.Default.URLUiPath + " --key " + Properties.Settings.Default.KeyMachine;
            string pathStringWord = Newtonsoft.Json.JsonConvert.SerializeObject(PathsVkr, Formatting.None);
            string pathFolder     = JsonConvert.SerializeObject(Properties.Settings.Default.PathStringFolder, Formatting.None);
            string cmd1           = @"UiRobot.exe execute --process CheckVKRs --input " + "\"" + "{" + "\'" + "ListPaths" + "\'" + ": " + pathStringWord.Replace("\"", "'").Replace("\\x22", "\\\"") + ", " + "\'" + "pF" + "\'" + ": " + pathFolder.Replace("\"", "'").Replace("\\x22", "\\\"") + "}\"";
            var    proc           = new ProcessStartInfo()
            {
                UseShellExecute  = true,
                WorkingDirectory = Properties.Settings.Default.PathUIPath.ToString(),
                FileName         = "cmd.exe",
                Arguments        = "/C " + cmd,
                WindowStyle      = ProcessWindowStyle.Hidden
            };

            try
            {
                Process.Start(proc);
            }
            catch (Exception)
            {
                Messege messege = new Messege("Возможно, вы указали неверные данные в путях к UiPath Studio");
                messege.Show();
                return("err");
            }
            ProcessStartInfo startInfo = new ProcessStartInfo();

            startInfo.RedirectStandardOutput = true;
            startInfo.UseShellExecute        = false;
            startInfo.RedirectStandardError  = true;
            startInfo.RedirectStandardError  = true;
            startInfo.WorkingDirectory       = Properties.Settings.Default.PathUIPath.ToString();
            startInfo.FileName               = "cmd.exe";
            startInfo.Arguments              = "/C " + cmd1 + @">" + Properties.Settings.Default.PathStringFolder + "JsonVKRStudents.txt";
            startInfo.CreateNoWindow         = true;
            startInfo.StandardOutputEncoding = Encoding.GetEncoding(850);
            try
            {
                Process procCommand = new Process();
                procCommand.OutputDataReceived += new DataReceivedEventHandler(ProcessOutputHandler);
                procCommand.ErrorDataReceived  += new DataReceivedEventHandler(ProcessOutputHandler);
                procCommand.StartInfo           = startInfo;
                procCommand.Start();
                procCommand.WaitForExit();
                StreamReader srIncoming = procCommand.StandardOutput;
                string       json       = srIncoming.ReadToEnd();
                return(json);
            }
            catch (System.ComponentModel.Win32Exception)
            {
                Messege messege = new Messege("Возможно, вы указали неверные данные в путях к UiPath Studio");
                messege.Show();
                return("err");
            }
        }
예제 #8
0
        private void FrmForGroup_Load(object sender, EventArgs e)
        {
            m_dbConn   = new SQLiteConnection();
            m_sqlCmd   = new SQLiteCommand();
            dbFileName = "dbForNameGroup";
            if (!File.Exists(dbFileName))
            {
                SQLiteConnection.CreateFile(dbFileName);
            }

            try
            {
                m_dbConn = new SQLiteConnection("Data Source=" + dbFileName + ";Version=3;");
                m_dbConn.Open();
                m_sqlCmd.Connection  = m_dbConn;
                m_sqlCmd.CommandText = "CREATE TABLE IF NOT EXISTS namegroup (id INTEGER PRIMARY KEY AUTOINCREMENT, little TEXT, big TEXT)";
                m_sqlCmd.ExecuteNonQuery();
            }
            catch (SQLiteException)
            {
                Messege messege = new Messege("Ошибка соединения с базой данных");
                messege.Show();
                return;
            }

            String sqlQuery;

            try
            {
                sqlQuery = "SELECT little, big FROM namegroup";
                SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlQuery, m_dbConn);
                adapter.Fill(dTable);
                thisDT = dTable;
                if (dTable.Rows.Count > 0)
                {
                    dataGridView1.Rows.Clear();

                    for (int i = 0; i < dTable.Rows.Count; i++)
                    {
                        dataGridView1.Rows.Add(dTable.Rows[i].ItemArray);
                    }
                }
                else
                {
                }
            }
            catch (SQLiteException ex)
            {
                Messege messege = new Messege(ex.Message);
                messege.Show();
            }
        }
예제 #9
0
        private void Bnt_SaveInFile_Click(object sender, EventArgs e)
        {
            if (dataGridView1.Rows.Count != 1)
            {
                Group  savenameGr   = new Group();
                string SelectFolder = "";
                Dictionary <string, string> name = new Dictionary <string, string>();
                if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
                {
                    SelectFolder = folderBrowserDialog1.SelectedPath;
                }
                else
                {
                    return;
                }
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    if (name.ContainsKey(dataGridView1.Rows[i].Cells[0].Value.ToString()))
                    {
                        name[dataGridView1.Rows[i].Cells[0].Value.ToString()] = dataGridView1.Rows[i].Cells[1].Value.ToString();
                    }
                    else
                    {
                        name.Add(dataGridView1.Rows[i].Cells[0].Value.ToString(), dataGridView1.Rows[i].Cells[1].Value.ToString());
                    }
                }
                savenameGr.nameGr = name;
                string jsonNameGroup = JsonConvert.SerializeObject(savenameGr.nameGr, Formatting.None);

                try
                {
                    using (StreamWriter sw = new StreamWriter(SelectFolder + "\\NameGroup.json", false, System.Text.Encoding.UTF8))
                    {
                        sw.WriteLine("{ nameGr: " + jsonNameGroup + " }");
                    }
                }
                catch (System.UnauthorizedAccessException)
                {
                    Messege messege = new Messege("Попробуйте сохранить в папку без прав администратора");
                    messege.Show();
                }
            }
            else
            {
                Messege messege = new Messege("Таблица пуста");
                messege.Show();
            }
        }
예제 #10
0
 private void BtnConnect_Click(object sender, EventArgs e)
 {
     if ((TxtBxKey.Text == "") || (TxtBxURL.Text == ""))
     {
         Messege messege = new Messege("Заполните все поля");
         messege.Show();
     }
     else
     {
         Task <string> task    = CompliteCmdAsync();
         var           awaiter = task.GetAwaiter();
         awaiter.OnCompleted(() =>
         {
             string result = awaiter.GetResult();
             if (result == "0")
             {
                 label3.Text = "Успешно";
                 Properties.Settings.Default.URLUiPath  = TxtBxURL.Text;
                 Properties.Settings.Default.KeyMachine = TxtBxKey.Text;
                 Properties.Settings.Default.Save();
                 return;
             }
             if (result.Contains("По указанному URL-адресу отсутствует Orchestrator. Проверьте ссылку и повторите попытку."))
             {
                 label3.Text = "Неправильный URL или key machine";
                 return;
             }
             if (result.Contains("Orchestrator уже подключен!"))
             {
                 label3.Text = "Orchestrator уже подключен!";
                 return;
             }
             if (result.Contains("-1073741510"))
             {
                 label3.Text = "Попробуйте еще раз"; return;
             }
             if (result.Contains("An error occurred while sending the request."))
             {
                 label3.Text = "Ошибка запроса или отсутствует подключение"; return;
             }
             else
             {
                 label3.Text = "Указан неправильный путь к Uipath"; return;
             }
         });
     }
 }
예제 #11
0
        private void Btn_GivOutFile_Click(object sender, EventArgs e)
        {
            try
            {
                Warning warning = new Warning("Все данные из таблицы будут перезаписаны!");
                warning.ShowDialog();
                DialogResult result = warning.DialogResult;

                if (result == DialogResult.OK)
                {
                    InitializeOpenFileDialog("Json файл (*.json*;|*.json*;", "Выберите файл с сокращениями групп");
                    string SelectFolder = "";
                    string jsonpath     = "";
                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        SelectFolder = openFileDialog1.FileName;
                    }
                    if (SelectFolder != "")
                    {
                        using (StreamReader sw = new StreamReader(SelectFolder))
                        {
                            jsonpath = sw.ReadToEnd();
                        }
                    }

                    Group group = JsonConvert.DeserializeObject <Group>(jsonpath);
                    dataGridView1.Rows.Clear();
                    foreach (KeyValuePair <string, string> entry in group.nameGr)
                    {
                        dataGridView1.Rows.Add(entry.Key, entry.Value);
                    }
                    btnSave.Enabled = true;
                    save            = true;
                }
                else
                {
                    return;
                }
            }
            catch (Exception)
            {
                Messege messege = new Messege("Данный файл имеет другой формат");
                messege.Show();
            }
        }
예제 #12
0
        //заполнение таблицы по приказу
        public void LoadDataGrid(ListVKRStudent json)

        {
            JsonVkrStudents = JsonConvert.SerializeObject(json);
            int i = 0;

            try
            {
                dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
                if (json != null)
                {
                    dataGridView1.Rows.Clear();
                    pathsWordIndex.Clear();
                    foreach (VKRStudents rootObject in json.ListVKRStudents)
                    {
                        dataGridView1.Rows.Add(i + 1, rootObject.FIO, (rootObject.Group.Split('&'))[0], rootObject.VKRTheme, rootObject.GetInitialsManager());
                        i++;
                    }
                }
                else
                {
                    Messege messege = new Messege("Неверный формат файла или же в пути к UiPath допущена ошибка");
                    messege.Show();
                }
                File.Delete(Properties.Settings.Default.PathStringFolder + "JsonVKRStudents.txt");
            }
            catch (Newtonsoft.Json.JsonReaderException)
            {
                Messege messege = new Messege("Ошибка ответа робота. Возможно нет подключения к Интернету. Также ошибка может возникать, если загружен неверный формат файла");
                messege.Show();
            }
            catch (IOException)
            {
                Messege messege = new Messege("Возможно был удален файл с данными");
                messege.Show();
            }
            catch (NullReferenceException)
            {
                Messege messege = new Messege("Ошибка ответа робота. Возможно нет подключения к Интернету. Также ошибка может возникать, если загружен неверный формат файла");
                messege.Show();
            }
        }
예제 #13
0
        async Task <string> CompliteCmdAsync()
        {
            try
            {
                label3.Text = "Загрузка...";
                string ans = await Task.Run(() => UiPathConnection());

                return(ans);
            }
            catch (System.NullReferenceException)
            {
                return("err");
            }
            catch (Exception e)
            {
                Messege messege = new Messege(e.ToString());
                messege.Show();
                return("err");
            }
        }
예제 #14
0
        async Task <string> CompliteCmdAsync()
        {
            try
            {
                label2.Text = "Обработка планов...";
                string ans = await Task.Run(() => VRKExcelAndClearList());

                return(ans);
            }
            catch (System.NullReferenceException)
            {
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();
                return("err");
            }
            catch (Exception)
            {
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();
                return("err");
            }
        }
예제 #15
0
        async Task <string> CompliteSecondTask()
        {
            try
            {
                label1.Text = "Загрузка..";
                string line = "";
                string ans  = await System.Threading.Tasks.Task.Run(() => VKRCheck());

                if (ans == "err")
                {
                    Messege messege = new Messege("Возможно, вы указали неверные данные в путях к UiPath Studio. Ошибка также может возникать, если был загружен неверный формат файла.");
                    messege.Show();
                    return(line);
                }
                else
                {
                    using (StreamReader sr = new StreamReader(Properties.Settings.Default.PathStringFolder + "JsonVKRStudents.txt", Encoding.GetEncoding(866)))
                    {
                        line = sr.ReadToEnd();
                    }
                }
                File.Delete(Properties.Settings.Default.PathStringFolder + "JsonVKRStudents.txt");
                label1.Text = "";
                return(line);
            }
            catch (System.NullReferenceException)
            {
                label1.Text = "";
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();
                return("err");
            }
            catch (Exception)
            {
                label1.Text = "";
                MessageBox.Show("Ошибка ответа, попробуйте еще раз");
                return("err");
            }
        }
예제 #16
0
        async Task <string> CompliteVKRGo(List <string> VKRList, Dictionary <string, string> keys)
        {
            try
            {
                label1.Text = "Загрузка..";
                string line = "";
                string ans  = await System.Threading.Tasks.Task.Run(() => VKRGo(VKRList, keys));

                if (ans == "err")
                {
                    Messege messege = new Messege("Возможно, вы указали неверные данные в путях к UiPath Studio. Ошибка также может возникать, если был загружен неверный формат файла.");
                    messege.Show();
                    label1.Text = "";

                    return(line);
                }
                else
                {
                    label1.Text = "";
                    return(ans);
                }
            }
            catch (System.NullReferenceException)
            {
                label1.Text = "";
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();

                return("err");
            }
            catch (Exception)
            {
                label1.Text = "";
                MessageBox.Show("Ошибка ответа, попробуйте еще раз");
                return("err");
            }
        }
예제 #17
0
        private Dictionary <string, string> GoDBForDictionary()
        {
            Dictionary <string, string> keys = new Dictionary <string, string>();

            m_dbConn   = new SQLiteConnection();
            m_sqlCmd   = new SQLiteCommand();
            dbFileName = "dbForNameGroup";
            if (!File.Exists(dbFileName))
            {
                SQLiteConnection.CreateFile(dbFileName);
            }
            try
            {
                m_dbConn = new SQLiteConnection("Data Source=" + dbFileName + ";Version=3;");
                m_dbConn.Open();
                m_sqlCmd.Connection  = m_dbConn;
                m_sqlCmd.CommandText = "CREATE TABLE IF NOT EXISTS namegroup (id INTEGER PRIMARY KEY AUTOINCREMENT, little TEXT, big TEXT)";
                m_sqlCmd.ExecuteNonQuery();
            }
            catch (SQLiteException)
            {
                Messege messege = new Messege("Для начала создайте сокращения для групп в разделе 'Настройки'");
                messege.Show();
                return(keys);
            }
            System.Data.DataTable dTable = new System.Data.DataTable();
            String sqlQuery;

            if (m_dbConn.State != ConnectionState.Open)
            {
                Messege messege = new Messege("Попробуйте еще раз");
                messege.Show();
                return(keys);
            }

            try
            {
                sqlQuery = "SELECT little, big FROM namegroup";
                SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlQuery, m_dbConn);
                adapter.Fill(dTable);
                if (dTable.Rows.Count > 0)
                {
                    for (int i = 0; i < dTable.Rows.Count; i++)
                    {
                        if (!keys.ContainsKey(dTable.Rows[i].ItemArray[0].ToString().ToLower()))
                        {
                            keys.Add(dTable.Rows[i].ItemArray[0].ToString().ToLower(), dTable.Rows[i].ItemArray[1].ToString().ToLower());
                        }
                        else
                        {
                            continue;
                        }
                    }
                    return(keys);
                }
                else
                {
                    Messege messege = new Messege("Добавьте записи в таблицу или загрузите их из файла");
                    messege.Show();
                    return(keys);
                }
            }
            catch (SQLiteException)
            {
                Messege messege = new Messege("Произошла ошибка");
                messege.Show();
                return(keys);
            }
        }
예제 #18
0
        private void BtnExcel_Click(object sender, EventArgs e)
        {
            if (ConnectionAvailable() == true)
            {
                pathsExcel.Clear();
                InitializeOpenFileDialog("Файлы Excel (*.xl*;*.xlsx;*.xlsm;*.xlsb;*.xlam;*.xltx;*.xltm;*.xls;*.xla;*.xlt;*.xlm;*.xlw;)|*.xl*;*.xlsx;*.xlsm;*.xlsb;*.xlam;*.xltx;*.xltm;*.xls;*.xla;*.xlt;*.xlm;*.xlw;", "Выберите Excel файлы учебных планов");
                SelectListOfPathsInOpenFileDialog(out pathsExcel);

                if (pathsExcel.Count > 0)
                {
                    try
                    {
                        Task <string> task    = CompliteCmdAsync();
                        var           awaiter = task.GetAwaiter();
                        awaiter.OnCompleted(() =>
                        {
                            label2.Text   = "";
                            string result = awaiter.GetResult();
                            if (result == "err")
                            {
                                return;
                            }
                            else
                            {
                                try
                                {
                                    if (ConnectionAvailable() == false)
                                    {
                                        Messege messege = new Messege("Возможно отсутствует подключение к Интернету. Для нормальной работы с приложением требуется подключение");
                                        messege.Show();
                                    }
                                    else
                                    {
                                        var jsons = JsonConvert.DeserializeObject <RootObject>(result);
                                        if (jsons != null)
                                        {
                                            AddDBNameOfDirection(jsons.stringNameNapr);
                                        }
                                        else
                                        {
                                            Messege messege = new Messege("Неверный формат Excel-файла или ошибка подключения UiPath");
                                            messege.Show();
                                        }
                                    }
                                }
                                catch (NullReferenceException)
                                {
                                    Messege messege = new Messege("Ошибка соединения с роботом. Возможно отсутствует подключение к Интернету");
                                    messege.Show();
                                }
                            }
                        }
                                            );
                    }
                    catch (System.NullReferenceException)
                    {
                        Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                        messege.Show();
                        return;
                    }
                    catch (Exception)
                    {
                        Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                        messege.Show();
                        return;
                    }
                }
                else
                {
                    return;
                }
            }
            else
            {
                Messege messege = new Messege("Ошибка соединения с роботом. Возможно отсутствует подключение к Интернету");
                messege.Show();
            }
        }
예제 #19
0
        private void VKRGo_Click(object sender, EventArgs e)
        {
            List <string> niceStudent = new List <string>();

            foreach (DataGridViewRow dataRow in dataGridView1.Rows)
            {
                if (dataRow.DefaultCellStyle.BackColor == Color.FromArgb(0, 255, 115))
                {
                    niceStudent.Add(pathsWordIndex[dataRow.Index]);
                }
            }
            if (niceStudent.Count == 0)
            {
                Messege messege = new Messege("В списке пока нет правильных ВКР");
                messege.Show();
                return;
            }
            Dictionary <string, string> keys = new Dictionary <string, string>();

            keys = GoDBForDictionary();
            try
            {
                Task <string> task    = CompliteVKRGo(niceStudent, keys);
                var           awaiter = task.GetAwaiter();
                awaiter.OnCompleted(() =>
                {
                    try
                    {
                        string result  = awaiter.GetResult();
                        var jsons      = JsonConvert.DeserializeObject <Answ>(result);
                        string[] chars = { "!@" };
                        if (jsons.Ans.Count > 0)
                        {
                            foreach (string item in jsons.Ans)
                            {
                                if (item != "")
                                {
                                    Messege messege = new Messege(item.Split(chars, StringSplitOptions.None)[0] + ". " + (item.Split(chars, StringSplitOptions.None)[1]));
                                    messege.Show();
                                }
                                else
                                {
                                    continue;
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        Messege messege = new Messege("Возможно, вы указали неверные данные в путях к UiPath Studio");
                        messege.Show();
                    }
                });
            }
            catch (System.NullReferenceException)
            {
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();
                return;
            }
            catch (Exception)
            {
                Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                messege.Show();

                return;
            }
        }
예제 #20
0
        //загрузка приказа
        private void btnloadDoc_Click(object sender, EventArgs e)
        {
            if ((Properties.Settings.Default.KeyMachine == "") || (Properties.Settings.Default.URLUiPath == ""))
            {
                Messege messege = new Messege("Укажите URL Uipath и MachineKey в настройках UiPath");
                messege.Show();
            }
            else
            {
                VKRPath = "";
                InitializeOpenFileDialog("Все документы Word(*.docx;*.doc;*.docm;*.dotx;*.dotm;*.doc;*.dot;)|*.docx;*.doc;*.docm;*.dotx;*.dotm;*.doc;*.dot;", "Выберите файл приказа");
                SelectListOfPathsInOpenFileDialog();
                if (VKRPath != "")
                {
                    try
                    {
                        Task <string> task    = CompliteCmdAsync();
                        var           awaiter = task.GetAwaiter();
                        awaiter.OnCompleted(() =>
                        {
                            try
                            {
                                string result = awaiter.GetResult();
                                var jsons     = JsonConvert.DeserializeObject <ListVKRStudent>(result);
                                if (jsons.ListVKRStudents.Count == 0)
                                {
                                    {
                                        Messege messege = new Messege("Загружен неверный формат файла. Ошибка также может возникать, если файл открыт");
                                        messege.Show();
                                    }
                                    return;
                                }
                                else
                                {
                                    LoadDataGrid(jsons);
                                }
                            }
                            catch (System.NullReferenceException)
                            {
                                Messege messege = new Messege("Возможно в пути к UiPath допущена ошибка");
                                messege.Show();
                                return;
                            }
                            catch (Newtonsoft.Json.JsonReaderException)
                            {
                                Messege messege = new Messege("Ошибка ответа робота. Возможно нет подключения к Интернету. Также ошибка может возникать, если загружен неверный формат файла");
                                messege.Show();
                            }
                        }
                                            );
                    }
                    catch (System.NullReferenceException)
                    {
                        Messege messege = new Messege("Неверный формат файла или же в пути к UiPath допущена ошибка");
                        messege.Show();
                        return;
                    }
                    catch (Exception)
                    {
                        Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                        messege.Show();

                        return;
                    }
                }
                else
                {
                    return;
                }
            }
        }
예제 #21
0
        //кнопка проверка ВКР
        private void CheckVkr_Click(object sender, EventArgs e)
        {
            List <string> listPathsVkr = new List <string>();

            if (JsonVkrStudents == "")
            {
                Messege messege = new Messege("Для начала проверки ВКР загрузите приказ");
                messege.Show();
                return;
            }
            if ((Properties.Settings.Default.KeyMachine == "") || (Properties.Settings.Default.URLUiPath == ""))
            {
                Messege messege = new Messege("Укажите URL Uipath и MachineKey в настройках UiPath");
                messege.Show();
                return;
            }
            else
            {
                InitializeOpenFileDialog2("Все документы Word и Pdf (*.docx;*.doc;*.docm;*.dotx;*.dotm;*.doc;*.dot;*.pdf;)|*.docx;*.doc;*.docm;*.dotx;*.dotm;*.doc;*.dot;*.pdf;", "Выберите файл ВКР");
                SelectListOfPathsInOpenFileVKR(out listPathsVkr);
                PathsVkr = listPathsVkr;
                if (listPathsVkr.Count > 0)
                {
                    try
                    {
                        if (JsonVkrStudents != "")
                        {
                            using (StreamWriter sw = new StreamWriter(Properties.Settings.Default.PathStringFolder + "tempJson.doc", false, Encoding.Default))
                            {
                                sw.WriteLine(JsonVkrStudents);
                            }
                            Task <string> task    = CompliteSecondTask();
                            var           awaiter = task.GetAwaiter();
                            awaiter.OnCompleted(() =>
                            {
                                try
                                {
                                    string result = awaiter.GetResult();
                                    var jsons     = JsonConvert.DeserializeObject <ListError>(result);
                                    foreach (List <string> item in jsons.listError)
                                    {
                                        string FullError = "";
                                        string[] mass    = { };
                                        string names     = "";
                                        foreach (string error in item)
                                        {
                                            if (error.Contains("!@"))
                                            {
                                                string[] chars    = { "!@" };
                                                string[] namestud = error.Split(chars, StringSplitOptions.RemoveEmptyEntries);
                                                foreach (DataGridViewRow dataRow in dataGridView1.Rows)
                                                {
                                                    if (dataRow.Cells[1].Value.ToString() == namestud[0])
                                                    {
                                                        dataRow.DefaultCellStyle.BackColor = Color.FromArgb(0, 255, 115);
                                                        dataRow.Cells[1].ToolTipText       = "";
                                                        if (pathsWordIndex.ContainsKey(dataRow.Index))
                                                        {
                                                            pathsWordIndex[dataRow.Index] = namestud[1] + "!@" + namestud[2];
                                                        }
                                                        else
                                                        {
                                                            pathsWordIndex.Add(dataRow.Index, namestud[1] + "!@" + namestud[2]);
                                                        }
                                                        break;
                                                    }
                                                }
                                                break;
                                            }
                                            else
                                            {
                                                if (error.Contains("ВКР("))
                                                {
                                                    string[] chars    = { "ВКР(" };
                                                    string[] namestud = error.Split(chars, StringSplitOptions.RemoveEmptyEntries);
                                                    namestud          = namestud[0].Split(')');
                                                    names             = namestud[0];
                                                    string st         = error.Replace("ВКР(" + namestud[0] + "):", "");
                                                    string[] s        = { "**" };
                                                    mass      = st.Split(s, StringSplitOptions.None);
                                                    FullError = FullError + mass[1] + "\n";
                                                }
                                                else
                                                {
                                                    Messege messege = new Messege(error);
                                                    messege.Show();
                                                }
                                            }
                                        }
                                        foreach (DataGridViewRow dataRow in dataGridView1.Rows)
                                        {
                                            if (dataRow.Cells[1].Value.ToString() == names)
                                            {
                                                dataRow.DefaultCellStyle.BackColor = Color.FromArgb(255, 124, 129);

                                                dataRow.Cells[1].ToolTipText = FullError;
                                                if (pathsWordIndex.ContainsKey(dataRow.Index))
                                                {
                                                    pathsWordIndex[dataRow.Index] = mass[0];
                                                }
                                                else
                                                {
                                                    pathsWordIndex.Add(dataRow.Index, mass[0]);
                                                }
                                                break;
                                            }
                                        }
                                    }
                                }
                                catch (Newtonsoft.Json.JsonReaderException)
                                {
                                    Messege messege = new Messege("Ошибка ответа робота. Возможно нет подключения к Интернету. Также ошибка может возникать, если загружен неверный формат файла");
                                    messege.Show();
                                }
                                catch (NullReferenceException)
                                {
                                    Messege messege = new Messege("Возможно, вы указали неверные данные в путях к UiPath Studio");
                                    messege.Show();
                                }
                            }
                                                );
                        }
                        else
                        {
                            Messege messege = new Messege("Для начала проверки ВКР загрузите приказ");
                            messege.Show();
                            return;
                        }
                    }
                    catch (System.NullReferenceException)
                    {
                        Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                        messege.Show();
                        return;
                    }
                    catch (Exception)
                    {
                        Messege messege = new Messege("Ошибка ответа, попробуйте еще раз");
                        messege.Show();
                        return;
                    }
                }
                else
                {
                    return;
                }
            }
        }