/// <summary> /// Экспорт базы каналов, поток. /// </summary> /// <param name="param">Параметр потока</param> private void SaveAsXMLThread(object param) { var data = param as DataForSaveAsXML; Logs.Show(); Logs.DisableButtons(); Logs.Clear(); Logs.SetProgress(0); try { Logs.SetProgress(1); XMLReporter.SaveAsXML(data.pathToFile, data.rewrite, data.cdbxTagView, data.cdbxNewNames); Logs.SetProgress(50); Logs.AddMessage("Done."); } catch (System.Exception ex) { Logs.AddMessage("Exception - " + ex); } finally { if (Logs.IsNull() == false) { Logs.EnableButtons(); Logs.SetProgress(100); } } }
/// <summary> /// Экспорт технологических объектов в Excel. /// </summary> /// <param name="path">Путь к директории сохранения</param> /// <param name="projectName">Имя проекта</param> private void ExportToExcel(object param) { var par = param as string; Logs.Show(); Logs.DisableButtons(); Logs.Clear(); Logs.SetProgress(0); try { Logs.SetProgress(1); ExcelRepoter.ExportTechDevs(par); Logs.AddMessage("Done."); } catch (System.Exception ex) { Logs.AddMessage("Exception - " + ex); } finally { if (Logs.IsNull() == false) { Logs.EnableButtons(); Logs.SetProgress(100); } } }
/// <summary> /// Обновление подписей к клеммам модулей IO /// в соответствии с актуальным названием устройств. /// </summary> public void UpdateModulesBinding() { var errors = ""; try { Logs.Clear(); Logs.Show(); Logs.AddMessage("Выполняется синхронизация.."); errors = ModulesBindingUpdater.GetInstance().Execute(); Logs.Clear(); } catch (System.Exception ex) { Logs.AddMessage("Exception - " + ex); } finally { if (errors != "") { Logs.AddMessage(errors); } if (Logs.IsNull() == false) { Logs.AddMessage("Синхронизация завершена. "); Logs.SetProgress(100); Logs.EnableButtons(); } } }
/// <summary> /// Сохранить описание проекта /// </summary> /// <param name="param">Параметры</param> public static void Save(object param) { var par = param as ParametersForSave; if (!par.silentMode) { Logs.Show(); Logs.DisableButtons(); Logs.SetProgress(0); } try { try { if (!Directory.Exists(par.path)) { Directory.CreateDirectory(par.path); } } catch (DriveNotFoundException) { if (!par.silentMode) { Logs.AddMessage("Ошибка подключения к диску с " + "проектами. Подключите диск!"); Logs.SetProgress(100); } return; } SaveIOFile(par); if (par.silentMode == false) { Logs.SetProgress(50); } SaveTechObjectsFile(par); SaveTechDevicesFile(par); SaveRestrictionsFile(par); SaveMainFile(par); SaveModbusFile(par); SaveProfibusFile(par); SavePrgFile(par); SaveSharedFile(par); if (par.silentMode == false) { if (!Logs.IsEmpty()) { Logs.AddMessage("Done."); Logs.ShowLastLine(); } else { Logs.Hide(); } } } catch (Exception ex) { if (par.silentMode == false) { Logs.AddMessage("Exception - " + ex); Logs.AddMessage(""); Logs.AddMessage(""); Logs.ShowLastLine(); } } finally { if (!par.silentMode && Logs.IsNull() == false) { Logs.EnableButtons(); Logs.SetProgress(100); } } }