Edit sleeves tool
This commit is contained in:
parent
b9cdad649a
commit
5153e951e4
@ -2,24 +2,21 @@
|
|||||||
|
|
||||||
internal class SleevesTool : Tool
|
internal class SleevesTool : Tool
|
||||||
{
|
{
|
||||||
public SleevesTool(IServiceProvider provider) : base(provider)
|
private readonly ISleevesCaluculator _sleevesCaluculator;
|
||||||
|
|
||||||
|
public SleevesTool(ReaderFactory readerFactory, WriterFactory writerFactory, ISleevesCaluculator sleevesCaluculator) : base(readerFactory, writerFactory)
|
||||||
{
|
{
|
||||||
|
_sleevesCaluculator = sleevesCaluculator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Execute()
|
public override void Execute()
|
||||||
{
|
{
|
||||||
Application app = RhSolutionsAddIn.Excel.Application;
|
Application app = RhSolutionsAddIn.Excel.Application;
|
||||||
|
Worksheet worksheet = app.ActiveWorkbook.ActiveSheet;
|
||||||
_reader = _readerFactory.GetReader("Excel");
|
_reader = _readerFactory.GetReader("Excel");
|
||||||
_writer = _writerFactory.GetWriter("CurrentPrice");
|
_writer = _writerFactory.GetWriter("CurrentPrice");
|
||||||
var products = new List<(string, Dictionary<Product, double>)>()
|
var products = _reader.ReadProducts(new[] { worksheet });
|
||||||
{
|
var sleeves = _sleevesCaluculator.CalculateSleeves(products.Select(p => p.Item2).First());
|
||||||
(string.Empty, new Dictionary<Product, double>()
|
_writer.WriteProducts(sleeves);
|
||||||
{
|
|
||||||
[new Product("11600011001")] = 10,
|
|
||||||
[new Product("11600021001")] = 10,
|
|
||||||
[new Product("11600031001")] = 10
|
|
||||||
})
|
|
||||||
};
|
|
||||||
_writer.WriteProducts(products);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ internal class ToolFactory
|
|||||||
{
|
{
|
||||||
static ReaderFactory readerFactory = RhSolutionsAddIn.ServiceProvider.GetService<ReaderFactory>();
|
static ReaderFactory readerFactory = RhSolutionsAddIn.ServiceProvider.GetService<ReaderFactory>();
|
||||||
static WriterFactory writerFactory = RhSolutionsAddIn.ServiceProvider.GetService<WriterFactory>();
|
static WriterFactory writerFactory = RhSolutionsAddIn.ServiceProvider.GetService<WriterFactory>();
|
||||||
|
static ISleevesCaluculator sleevesCaluculator = RhSolutionsAddIn.ServiceProvider.GetService<ISleevesCaluculator>();
|
||||||
|
|
||||||
public Tool GetTool(string toolName)
|
public Tool GetTool(string toolName)
|
||||||
{
|
{
|
||||||
@ -14,7 +15,7 @@ internal class ToolFactory
|
|||||||
"merge" => new MergeTool(readerFactory, writerFactory),
|
"merge" => new MergeTool(readerFactory, writerFactory),
|
||||||
"dxfexport" => new DxfTool(readerFactory, writerFactory),
|
"dxfexport" => new DxfTool(readerFactory, writerFactory),
|
||||||
"guess" => new GuessTool(readerFactory, writerFactory),
|
"guess" => new GuessTool(readerFactory, writerFactory),
|
||||||
"fillsleeves" => new SleevesTool(RhSolutionsAddIn.ServiceProvider),
|
"fillsleeves" => new SleevesTool(readerFactory, writerFactory, sleevesCaluculator),
|
||||||
_ => throw new Exception($"Неизвестный инструмент {toolName}"),
|
_ => throw new Exception($"Неизвестный инструмент {toolName}"),
|
||||||
};
|
};
|
||||||
return tool;
|
return tool;
|
||||||
|
Loading…
Reference in New Issue
Block a user