diff --git a/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs b/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs index b7634a9..a7f6796 100644 --- a/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs +++ b/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs @@ -25,7 +25,7 @@ public sealed class RhSolutionsAddIn : IExcelAddIn .AddSingleton() .AddSingleton() .AddSingleton() - .AddSingleton() + .AddSingleton() .AddTransient(); Services.AddSingleton(); diff --git a/RhSolutions.AddIn/Services/CouplingsCalculator.cs b/RhSolutions.AddIn/Services/CouplingsCalculator.cs new file mode 100644 index 0000000..9ff4a98 --- /dev/null +++ b/RhSolutions.AddIn/Services/CouplingsCalculator.cs @@ -0,0 +1,9 @@ +namespace RhSolutions.Services; + +public class CouplingsCalculator : IFittingsCalculator +{ + public Dictionary Calculate(Dictionary products) + { + throw new NotImplementedException(); + } +} diff --git a/RhSolutions.AddIn/Services/IFittingsCalculator.cs b/RhSolutions.AddIn/Services/IFittingsCalculator.cs new file mode 100644 index 0000000..ffead2b --- /dev/null +++ b/RhSolutions.AddIn/Services/IFittingsCalculator.cs @@ -0,0 +1,6 @@ +namespace RhSolutions.Services; + +public interface IFittingsCalculator +{ + public Dictionary Calculate(Dictionary products); +} diff --git a/RhSolutions.AddIn/Services/ISleevesCalculator.cs b/RhSolutions.AddIn/Services/ISleevesCalculator.cs deleted file mode 100644 index eba37df..0000000 --- a/RhSolutions.AddIn/Services/ISleevesCalculator.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace RhSolutions.Services; - -public interface ISleevesCalculator -{ - public Dictionary CalculateSleeves(Dictionary products); -} diff --git a/RhSolutions.AddIn/Services/SleevesCalculator.cs b/RhSolutions.AddIn/Services/SleevesCalculator.cs index acd9336..84dcbbb 100644 --- a/RhSolutions.AddIn/Services/SleevesCalculator.cs +++ b/RhSolutions.AddIn/Services/SleevesCalculator.cs @@ -2,14 +2,14 @@ namespace RhSolutions.Services; -public class SleevesCalculator : ISleevesCalculator +public class SleevesCalculator : IFittingsCalculator { private const string doublePattern = @"((?i)равнопроходная|угольник\s+90|угольник\s+45|Т-образная|Комплект\s+трубок(?i))(.+?\b(?16|20|25|32|40|50|63)\b)+"; private const string singlePattern = @"((?i)муфта|тройник|переходник|угольник|штуцер|Г-образная|заглушка(?i))(.+?\b(?16|20|25|32|40|50|63)\b)+"; - public Dictionary CalculateSleeves(Dictionary products) + public Dictionary Calculate(Dictionary products) { Dictionary result = new() { diff --git a/RhSolutions.AddIn/Tools/SleevesTool.cs b/RhSolutions.AddIn/Tools/SleevesTool.cs index c43bc6c..26fa0ee 100644 --- a/RhSolutions.AddIn/Tools/SleevesTool.cs +++ b/RhSolutions.AddIn/Tools/SleevesTool.cs @@ -2,9 +2,9 @@ internal class SleevesTool : Tool { - private readonly ISleevesCalculator _sleevesCaluculator; + private readonly IFittingsCalculator _sleevesCaluculator; - public SleevesTool(ReaderFactory readerFactory, WriterFactory writerFactory, ISleevesCalculator sleevesCaluculator) : base(readerFactory, writerFactory) + public SleevesTool(ReaderFactory readerFactory, WriterFactory writerFactory, IFittingsCalculator sleevesCaluculator) : base(readerFactory, writerFactory) { _sleevesCaluculator = sleevesCaluculator; } @@ -15,7 +15,7 @@ internal class SleevesTool : Tool Worksheet worksheet = app.ActiveWorkbook.ActiveSheet; _reader = _readerFactory.GetReader("Excel"); var products = _reader.ReadProducts(new[] { worksheet }); - var sleeves = _sleevesCaluculator.CalculateSleeves(products.Select(p => p.Item2).First()); + var sleeves = _sleevesCaluculator.Calculate(products.Select(p => p.Item2).First()); _writer = _writerFactory.GetWriter("CurrentPrice"); _writer.WriteProducts(sleeves); } diff --git a/RhSolutions.AddIn/Tools/ToolFactory.cs b/RhSolutions.AddIn/Tools/ToolFactory.cs index 1c71042..bdc9bf9 100644 --- a/RhSolutions.AddIn/Tools/ToolFactory.cs +++ b/RhSolutions.AddIn/Tools/ToolFactory.cs @@ -4,7 +4,7 @@ internal class ToolFactory { static ReaderFactory readerFactory = RhSolutionsAddIn.ServiceProvider.GetService(); static WriterFactory writerFactory = RhSolutionsAddIn.ServiceProvider.GetService(); - static ISleevesCalculator sleevesCaluculator = RhSolutionsAddIn.ServiceProvider.GetService(); + static IFittingsCalculator sleevesCaluculator = RhSolutionsAddIn.ServiceProvider.GetService(); public Tool GetTool(string toolName) { diff --git a/RhSolutions.Tests/CanFillSleeves.cs b/RhSolutions.Tests/CanFillSleeves.cs index aedad09..ca00407 100644 --- a/RhSolutions.Tests/CanFillSleeves.cs +++ b/RhSolutions.Tests/CanFillSleeves.cs @@ -6,7 +6,7 @@ namespace RhSolutions.Tests; public class CanFillSleeves : IDisposable { private RhSolutionsAddIn _addIn; - private ISleevesCalculator _calculator; + private IFittingsCalculator _calculator; private IReader _reader; private IWriter _writer; private Worksheet _worksheet; @@ -25,7 +25,7 @@ public class CanFillSleeves : IDisposable public void CanCalculateSleeves() { var products = _reader.ReadProducts(new[] { _worksheet }); - var sleeves = _calculator.CalculateSleeves(products.First().Item2); + var sleeves = _calculator.Calculate(products.First().Item2); _writer.WriteProducts(sleeves); Assert.Equal(25, _worksheet.Range["E2"].Value);