Compare commits

...

3 Commits

Author SHA1 Message Date
Sergey Chebotar
9af858cc37 Version update 2023-04-20 09:42:30 +03:00
Sergey Chebotar
663dd39de4 Refactoring 2023-04-20 09:39:25 +03:00
Sergey Chebotar
6bfd1d981b Simplify class names 2023-04-20 09:37:07 +03:00
13 changed files with 40 additions and 53 deletions

View File

@ -20,16 +20,16 @@ public sealed class RhSolutionsAddIn : IExcelAddIn
Services.AddHttpClient()
.AddSingleton((Application)ExcelDnaUtil.Application)
.AddSingleton<IAddInConfiguration, RhAddInConfiguration>()
.AddSingleton<IDatabaseClient, RhDatabaseClient>()
.AddTransient<IFileDialog, ExcelFileDialog>()
.AddTransient<IExcelReader, RhExcelReader>();
.AddSingleton<IAddInConfiguration, AddInConfiguration>()
.AddSingleton<IDatabaseClient, DatabaseClient>()
.AddTransient<IFileDialog, FileDialog>()
.AddTransient<IReader, ExcelReader>();
Services.AddSingleton<WriterFactory>();
Services.AddTransient<RhExcelWriter>()
.AddTransient<IExcelWriter, RhExcelWriter>(s => s.GetService<RhExcelWriter>());
Services.AddTransient<RhDxfWriter>()
.AddTransient<IExcelWriter, RhDxfWriter>(s => s.GetService<RhDxfWriter>());
Services.AddTransient<ExcelWriter>()
.AddTransient<IWriter, ExcelWriter>(s => s.GetService<ExcelWriter>());
Services.AddTransient<DxfWriter>()
.AddTransient<IWriter, DxfWriter>(s => s.GetService<DxfWriter>());
Services.AddSingleton<ToolFactory>();

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.5.0.0")]
[assembly: AssemblyFileVersion("1.5.0.0")]
[assembly: AssemblyVersion("1.6.0.0")]
[assembly: AssemblyFileVersion("1.6.0.0")]

View File

@ -3,11 +3,11 @@ using System.IO;
namespace RhSolutions.Services;
public class RhAddInConfiguration : ApplicationSettingsBase, IAddInConfiguration
public class AddInConfiguration : ApplicationSettingsBase, IAddInConfiguration
{
private readonly Dictionary<string, string> _priceListHeaders;
public RhAddInConfiguration()
public AddInConfiguration()
{
_priceListHeaders = new Dictionary<string, string>()
{

View File

@ -5,12 +5,12 @@ using System.Threading.Tasks;
namespace RhSolutions.Services;
public class RhDatabaseClient : IDatabaseClient
public class DatabaseClient : IDatabaseClient
{
private readonly IServiceProvider serviceProvider;
public HttpStatusCode StatusCode { get; private set; }
public RhDatabaseClient(IServiceProvider provider)
public DatabaseClient(IServiceProvider provider)
{
this.serviceProvider = provider;
}

View File

@ -8,14 +8,14 @@ using Line = netDxf.Entities.Line;
namespace RhSolutions.Services;
public class RhDxfWriter : IExcelWriter
public class DxfWriter : IWriter
{
private readonly string file;
private readonly DxfDocument doc;
private Dictionary<Product, double> productDict;
private readonly Block tableBlock;
public RhDxfWriter()
public DxfWriter()
{
string filepath = RhSolutionsAddIn.Excel.ActiveWorkbook.Path;
string filename = Path.GetFileNameWithoutExtension(RhSolutionsAddIn.Excel.ActiveWorkbook.Name);

View File

@ -9,13 +9,13 @@ namespace RhSolutions.Services;
#if !NET472
[SupportedOSPlatform("windows")]
#endif
public class RhExcelReader : IExcelReader, IDisposable
public class ExcelReader : IReader, IDisposable
{
private ProgressBar _progressBar;
private readonly Dictionary<string, string> headers;
private readonly Application _application;
public RhExcelReader(Application application, IAddInConfiguration configuration)
public ExcelReader(Application application, IAddInConfiguration configuration)
{
_application = application;
headers = configuration.GetPriceListHeaders();
@ -110,27 +110,14 @@ public class RhExcelReader : IExcelReader, IDisposable
object name = worksheet.Cells[row, NameCell.Column].Value2;
object sku = worksheet.Cells[row, SkuCell.Column].Value2;
object measure = worksheet.Cells[row, MeasureCell.Column].Value2;
Measure productMeasure;
switch (measure.ToString())
var productMeasure = measure.ToString() switch
{
case "м":
productMeasure = Measure.M;
break;
case "шт":
productMeasure = Measure.P;
break;
case "м2":
productMeasure = Measure.M2;
break;
case "кг":
productMeasure = Measure.Kg;
break;
default:
productMeasure = Measure.P;
break;
}
"м" => Measure.M,
"шт" => Measure.P,
"м2" => Measure.M2,
"кг" => Measure.Kg,
_ => Measure.P,
};
if (productLine == null || name == null || sku == null)
continue;

View File

@ -9,7 +9,7 @@ namespace RhSolutions.Services;
#if !NET472
[SupportedOSPlatform("windows")]
#endif
public class RhExcelWriter : IExcelWriter, IDisposable
public class ExcelWriter : IWriter, IDisposable
{
private readonly Application _application;
private Worksheet _worksheet;
@ -24,7 +24,7 @@ public class RhExcelWriter : IExcelWriter, IDisposable
_nameCell,
_oldSkuCell;
public RhExcelWriter(Application application, IAddInConfiguration configuration)
public ExcelWriter(Application application, IAddInConfiguration configuration)
{
_application = application;
_pricelistPath = configuration.GetPriceListPath();

View File

@ -1,10 +1,10 @@
namespace RhSolutions.Services;
public class ExcelFileDialog : IFileDialog
public class FileDialog : IFileDialog
{
private Application _application;
private readonly Application _application;
public ExcelFileDialog(Application application)
public FileDialog(Application application)
{
_application = application;
}

View File

@ -1,6 +1,6 @@
namespace RhSolutions.Services;
public interface IExcelReader : IDisposable
public interface IReader : IDisposable
{
public Dictionary<Product, double> ReadProducts(Range range);
public List<(string, Dictionary<Product, double>)> ReadProducts(IEnumerable<Worksheet> worksheets);

View File

@ -1,6 +1,6 @@
namespace RhSolutions.Services;
public interface IExcelWriter : IDisposable
public interface IWriter : IDisposable
{
public void WriteProducts(IEnumerable<(string, Dictionary<Product, double>)> products);
public void WriteProducts(Dictionary<Product, double> products);

View File

@ -9,16 +9,16 @@ public class WriterFactory
_serviceProvider = serviceProvider;
}
public IExcelWriter GetWriter(string writerName)
public IWriter GetWriter(string writerName)
{
if (writerName.Equals("Dxf"))
{
return (IExcelWriter)_serviceProvider.GetService(typeof(RhDxfWriter));
return (IWriter)_serviceProvider.GetService(typeof(DxfWriter));
}
else
{
return (IExcelWriter)_serviceProvider.GetService(typeof(RhExcelWriter));
return (IWriter)_serviceProvider.GetService(typeof(ExcelWriter));
}
}
}

View File

@ -9,13 +9,13 @@ namespace RhSolutions.Tools;
#endif
internal abstract class Tool : IDisposable
{
protected readonly IExcelReader _reader;
protected readonly IReader _reader;
protected readonly WriterFactory _writerFactory;
protected IExcelWriter _writer;
protected IWriter _writer;
public Tool(IServiceProvider provider)
{
_reader = provider.GetRequiredService<IExcelReader>();
_reader = provider.GetRequiredService<IReader>();
_writerFactory = provider.GetRequiredService<WriterFactory>();
}

View File

@ -7,7 +7,7 @@ namespace RhSolutions.Tests;
public class CanReadProducts : IDisposable
{
private RhSolutionsAddIn _addIn;
private IExcelReader _reader;
private IReader _reader;
private Workbook _testWorkbook;
public CanReadProducts()
@ -15,7 +15,7 @@ public class CanReadProducts : IDisposable
_addIn = new();
_testWorkbook = Util.Application.Workbooks.Add();
_addIn.AutoOpen();
_reader = RhSolutionsAddIn.ServiceProvider.GetRequiredService<IExcelReader>();
_reader = RhSolutionsAddIn.ServiceProvider.GetRequiredService<IReader>();
}
[ExcelFact]