コード例 #1
0
        /// <summary>
        /// Configファイルを指定したファイルパスに保存します。
        /// ファイルパスを指定しない場合最後に保存された場所に保存されます。
        /// </summary>
        /// <param name="config"></param>
        /// <param name="absolutePath"></param>
        /// <returns></returns>
        public void SaveConfigAsync(Config config, string absolutePath = "")
        {
            if (string.IsNullOrEmpty(absolutePath))
            {
                absolutePath = config.LatestSaveFilePath;
            }

            _logger.WriteLine($"saved config {absolutePath}");
            YamlSerializeHelper.SaveToFile(absolutePath, config);
        }
コード例 #2
0
        /// <summary>
        /// ctor
        /// </summary>
        /// <param name="config"></param>
        /// <param name="logger"></param>
        public Project(Config config, ILogger logger)
        {
            _config = config;
            _logger = logger;

            Documents = new ObservableCollection <ImageDocument>();

            // 破棄時にメタファイルを保存する
            Disposables.Add(Disposable.Create(() =>
            {
                foreach (var metaData in Documents.Select(x => x.MetaData))
                {
                    if (metaData.IsEdited)
                    {
                        YamlSerializeHelper.SaveToFile(metaData.LatestSavedAbsolutePath, metaData);
                        _logger.WriteLine($"saved meta data {metaData.LatestSavedAbsolutePath}");
                    }
                }
            }));
        }