aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2023-05-23 06:54:37 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2023-05-23 06:54:37 +0300
commit136aa7f238472558a8909b811b1af8b4df731eae (patch)
treed62cd6906a998cae0bf640fcf8a910d58a2fecbd
parentd894c50ca3304ffc807563e2c63eed7f09f9daaa (diff)
Add Magic Tool
-rw-r--r--RhSolutions.AddIn/Tools/ExportTool.cs3
-rw-r--r--RhSolutions.AddIn/Tools/MagicTool.cs23
-rw-r--r--RhSolutions.AddIn/Tools/ToolFactory.cs1
3 files changed, 25 insertions, 2 deletions
diff --git a/RhSolutions.AddIn/Tools/ExportTool.cs b/RhSolutions.AddIn/Tools/ExportTool.cs
index ec3efb4..7b955ce 100644
--- a/RhSolutions.AddIn/Tools/ExportTool.cs
+++ b/RhSolutions.AddIn/Tools/ExportTool.cs
@@ -1,5 +1,4 @@
-using RhSolutions.AddIn;
-#if !NET472
+#if !NET472
using System.Runtime.Versioning;
#endif
diff --git a/RhSolutions.AddIn/Tools/MagicTool.cs b/RhSolutions.AddIn/Tools/MagicTool.cs
new file mode 100644
index 0000000..551194f
--- /dev/null
+++ b/RhSolutions.AddIn/Tools/MagicTool.cs
@@ -0,0 +1,23 @@
+#if !NET472
+using System.Runtime.Versioning;
+#endif
+
+namespace RhSolutions.Tools;
+
+internal class MagicTool : Tool
+{
+ public MagicTool(IServiceProvider provider) : base(provider)
+ {
+ }
+
+ public override void Execute()
+ {
+ Application app = RhSolutionsAddIn.Excel.Application;
+ Worksheet worksheet = app.ActiveWorkbook.ActiveSheet;
+ _reader = _readerFactory.GetReader("Magic");
+ var products = _reader.ReadProducts(new[] { worksheet });
+ _writer = _writerFactory.GetWriter("Excel");
+ _writer.WriteProducts(products);
+ }
+}
+
diff --git a/RhSolutions.AddIn/Tools/ToolFactory.cs b/RhSolutions.AddIn/Tools/ToolFactory.cs
index 49f4db6..7b529c7 100644
--- a/RhSolutions.AddIn/Tools/ToolFactory.cs
+++ b/RhSolutions.AddIn/Tools/ToolFactory.cs
@@ -10,6 +10,7 @@ internal class ToolFactory
"convert" => new ConvertTool(RhSolutionsAddIn.ServiceProvider),
"merge" => new MergeTool(RhSolutionsAddIn.ServiceProvider),
"dxfexport" => new DxfTool(RhSolutionsAddIn.ServiceProvider),
+ "magicexport" => new MagicTool(RhSolutionsAddIn.ServiceProvider),
_ => throw new Exception("Неизвестный инструмент"),
};
return tool;