namespace RhSolutions.Tools; internal class SleevesTool : Tool { private readonly ISleevesCaluculator _sleevesCaluculator; public SleevesTool(ReaderFactory readerFactory, WriterFactory writerFactory, ISleevesCaluculator sleevesCaluculator) : base(readerFactory, writerFactory) { _sleevesCaluculator = sleevesCaluculator; } public override void Execute() { Application app = RhSolutionsAddIn.Excel.Application; Worksheet worksheet = app.ActiveWorkbook.ActiveSheet; _reader = _readerFactory.GetReader("Excel"); _writer = _writerFactory.GetWriter("CurrentPrice"); var products = _reader.ReadProducts(new[] { worksheet }); var sleeves = _sleevesCaluculator.CalculateSleeves(products.Select(p => p.Item2).First()); _writer.WriteProducts(sleeves); } }