/// <summary> /// Установить значение блока в указанном файле. /// </summary> /// <param name="settingsFilePath">Источник настройки.</param> /// <param name="blockName">Имя блока.</param> /// <param name="isBlockEnabled">Доступность блока.</param> /// <param name="blockContentWithoutRoot">Содержимое блока в виде строки.</param> /// <param name="comments">Комментарии.</param> internal void AddOrUpdateBlock(string settingsFilePath, string blockName, bool?isBlockEnabled, string blockContentWithoutRoot, IReadOnlyList <string> comments = null) { var blockContentWithRoot = !string.IsNullOrEmpty(blockContentWithoutRoot) ? $@"<block name=""{blockName}""{BlockEnabledXmlPart(isBlockEnabled)}>{blockContentWithoutRoot}</block>" : null; var block = this.GetBlock(settingsFilePath, blockName); if (block == null) { block = new BlockSetting(settingsFilePath, blockName, isBlockEnabled, blockContentWithRoot, blockContentWithoutRoot, comments); this.blocks.Add(block); return; } block.Update(isBlockEnabled, blockContentWithRoot, blockContentWithoutRoot, comments); }
/// <summary> /// Equality. /// </summary> /// <param name="other">Object.</param> /// <returns>True, if Equals.</returns> protected bool Equals(BlockSetting other) { return(Name == other.Name && FilePath == other.FilePath); }