/// <summary> /// Загрузка данных /// </summary> /// <returns>True если загрузка произошла успешно</returns> public bool Load() { bool result = false; // имя файла с сессией string sessionFileNameToLoad = null; // проверка есть файл, с которым работали в последний раз if (File.Exists(Path.Combine(SESSIONS_FOLDER, "lastsession"))) { EmcosSiteWrapperApp.LogInfo("Обнаружен файл с именем файла последней сессии."); var lastusedfile = string.Empty; try { EmcosSiteWrapperApp.LogInfo("Попытка чтения имени файла последней сессии."); // чтение имени файла lastusedfile = File.ReadAllText(Path.Combine(SESSIONS_FOLDER, "lastsession")).Trim(); EmcosSiteWrapperApp.LogInfo("Имя файла последней сессии получено."); if (File.Exists(lastusedfile)) { sessionFileNameToLoad = lastusedfile; EmcosSiteWrapperApp.LogInfo("Файл последней сессии существует, попытаемся его загрузить."); } else { EmcosSiteWrapperApp.LogInfo("Указанный файл последней сессии не найден."); } } catch (System.IO.IOException ex) { EmcosSiteWrapperApp.LogInfo("Ошибка при чтении имени файла последней сессии."); _callBackAction(ex); } } else { if (String.IsNullOrWhiteSpace(BALANCE_SESSION_FILENAME) || File.Exists(Path.Combine(SESSIONS_FOLDER, BALANCE_SESSION_FILENAME + SESSION_FILE_EXTENSION)) == false) { EmcosSiteWrapperApp.LogInfo("Сессия не обнаружена."); return(false); } } // if (LoadSessionData(sessionFileNameToLoad)) { EmcosSiteWrapperApp.LogInfo("Сессия обнаружена и загружена."); ActiveSession.Info.IsLoaded = true; Loaded?.Invoke(null, EventArgs.Empty); result = true; } else { EmcosSiteWrapperApp.LogInfo(String.Format("Не удалось загрузить сессию. Файл [{0}].", sessionFileNameToLoad ?? BALANCE_SESSION_FILENAME + SESSION_FILE_EXTENSION)); } return(result); }
/// <summary> /// Инициализация - загрузка точек измерений, загрузка последней сессии /// </summary> public void Init() { try { // Проверка наличия папок согласно настроек и наличия файла с описанием точек if (System.IO.Directory.Exists(SESSIONS_FOLDER) == false) { Directory.CreateDirectory(SESSIONS_FOLDER); } if (System.IO.Directory.Exists(SETTINGS_FOLDER) == false) { Directory.CreateDirectory(SETTINGS_FOLDER); } if (File.Exists(CONFIGURATION_FILENAME) == false) { EmcosSiteWrapperApp.LogInfo("Файл с точками не найден."); // попытка построить дерево точек из сервиса int rootCode = _settings.RootEmcosPointCode; //var bytes = Properties.Resources.DataModel_xml_gz; //Stream stream = new MemoryStream(bytes); //var gzip = new System.IO.Compression.GZipStream(stream, System.IO.Compression.CompressionMode.Decompress, false); //using (FileStream fs = new FileStream(LIST_Balance_POINTS_FILENAME, FileMode.Create)) //{ // gzip.CopyTo(fs); //} //File.WriteAllBytes(LIST_Balance_POINTS_FILENAME, Properties.Resources.DataModel_xml_gz); } } catch (Exception ex) { _callBackAction(ex); } // создание в фоне списка сессий var task = System.Threading.Tasks.Task.Factory.StartNew(() => FillSessionsList()); // чтение конфигурации if (LoadConfiguration() == false) { EmcosSiteWrapperApp.LogWarning("Конфигурация не загружена"); } else { EmcosSiteWrapperApp.LogWarning("Конфигурация загружена"); } // загрузка сессии Load(); }