Compare commits
3 Commits
a6caea1787
...
9af858cc37
Author | SHA1 | Date | |
---|---|---|---|
|
9af858cc37 | ||
|
663dd39de4 | ||
|
6bfd1d981b |
@ -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>();
|
||||
|
||||
|
@ -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")]
|
||||
|
@ -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>()
|
||||
{
|
@ -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;
|
||||
}
|
@ -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);
|
@ -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;
|
||||
|
@ -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();
|
@ -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;
|
||||
}
|
@ -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);
|
@ -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);
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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>();
|
||||
}
|
||||
|
||||
|
@ -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]
|
||||
|
Loading…
Reference in New Issue
Block a user