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; } }
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); } }
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(); } }
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); } }
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"); } }
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(); } }
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"); } }
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(); } }
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(); } }
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; } }); } }
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(); } }
//заполнение таблицы по приказу 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(); } }
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"); } }
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"); } }
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"); } }
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"); } }
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); } }
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(); } }
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; } }
//загрузка приказа 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; } } }
//кнопка проверка ВКР 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; } } }