using RhSolutions.Interface; using System; using System.Collections.Generic; using System.Linq; namespace RhSolutions.PriceListTools { internal class MergeTool : ToolBase { private List SourceFiles { get; set; } public MergeTool() { string[] files = Dialog.GetMultiplyFiles(); if (files != null) { SourceFiles = SourcePriceList.GetSourceLists(files); } else { throw new Exception("Не выбраны файлы"); } } public override void FillTarget() { using (ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(x => x.PositionAmount.Count))) using (ResultBar = new ResultBar()) { foreach (SourcePriceList source in SourceFiles) { foreach (var kvp in source.PositionAmount) { FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column); ProgressBar.Update(); } } FilterByAmount(); ResultBar.Update(); } } } }