/// <summary>
        ///     Примитивное слияние двух целей.
        ///     Параметры (имя, расширение, директория) цели приобретает
        ///     значения источника, сущность сливается через Add
        /// </summary>
        /// <param name="source">Источник слияния</param>
        public void Merge(BSharpBuilderWriteTarget source) {
            Directory = source.Directory;
            Extension = source.Extension;
            Filename = source.Filename;

            _entity.Add(source.Entity.Elements());
        }
        /// <summary>
        ///     Примитивное слияние двух целей.
        ///     Параметры (имя, расширение, директория) цели приобретает
        ///     значения источника, сущность сливается через Add
        /// </summary>
        /// <param name="source">Источник слияния</param>
        public void Merge(BSharpBuilderWriteTarget source)
        {
            Directory = source.Directory;
            Extension = source.Extension;
            Filename  = source.Filename;

            _entity.Add(source.Entity.Elements());
        }
        /// <summary>
        ///     Производит реальную запись целевого файла на диск
        /// </summary>
        /// <param name="target">Целевой файл</param>
        private async Task RollTarget(BSharpBuilderWriteTarget target){
            if (!Directory.Exists(target.Directory)) {
                Directory.CreateDirectory(target.Directory);
            }
			using (var sw = new StreamWriter(target.Path)){
				await sw.WriteAsync(target.Entity.ToString());	
			}
            WriteLog("Wrote: " + target.Path);
        }
예제 #4
0
        /// <summary>
        ///     Производит реальную запись целевого файла на диск
        /// </summary>
        /// <param name="target">Целевой файл</param>
        private async Task RollTarget(BSharpBuilderWriteTarget target)
        {
            if (!Directory.Exists(target.Directory))
            {
                Directory.CreateDirectory(target.Directory);
            }

            using (var sw = new StreamWriter(target.Path)){
                await sw.WriteAsync(target.Entity.ToString());
            }
            WriteLog("Wrote: " + target.Path);
        }
        /// <summary>
        ///     Поиск в локальном хранилище аналогичной цели
        /// </summary>
        /// <param name="pattern">Шаблон поиска</param>
        /// <returns>Цель</returns>
        private BSharpBuilderWriteTarget FindSimilarTarget(BSharpBuilderWriteTarget pattern) {
            foreach (var target in _targets) {
                if (target.Directory != pattern.Directory) {
                    continue;
                }

                if (target.Filename != pattern.Filename) {
                    continue;
                }

                if (target.Extension != pattern.Extension) {
                    continue;
                }

                return target;
            }

            return null;
        }
예제 #6
0
        /// <summary>
        ///     Поиск в локальном хранилище аналогичной цели
        /// </summary>
        /// <param name="pattern">Шаблон поиска</param>
        /// <returns>Цель</returns>
        private BSharpBuilderWriteTarget FindSimilarTarget(BSharpBuilderWriteTarget pattern)
        {
            foreach (var target in _targets)
            {
                if (target.Directory != pattern.Directory)
                {
                    continue;
                }

                if (target.Filename != pattern.Filename)
                {
                    continue;
                }

                if (target.Extension != pattern.Extension)
                {
                    continue;
                }

                return(target);
            }

            return(null);
        }
        /// <summary>
        ///     Добавление цели
        /// </summary>
        /// <param name="target">Цель</param>
        public void Add(BSharpBuilderWriteTarget target) {
	        _targets.Add(target);
        }
예제 #8
0
 /// <summary>
 ///     Добавление цели
 /// </summary>
 /// <param name="target">Цель</param>
 public void Add(BSharpBuilderWriteTarget target)
 {
     _targets.Add(target);
 }