/// <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); } } }