Add Registry Util
This commit is contained in:
parent
aaaa6b4585
commit
f97d344f39
@ -16,9 +16,7 @@ namespace RehauSku
|
||||
|
||||
public class AddIn : IExcelAddIn
|
||||
{
|
||||
public static readonly HttpClient httpClient = new HttpClient();
|
||||
public static ResponseOrder StoreResponseOrder = RegistryUtil.StoreResponseOrder;
|
||||
public static string PriceListPath = RegistryUtil.PriceListPath;
|
||||
public static HttpClient httpClient = new HttpClient();
|
||||
|
||||
public void AutoOpen()
|
||||
{
|
||||
|
@ -5,16 +5,16 @@ namespace RehauSku
|
||||
{
|
||||
public class Functions
|
||||
{
|
||||
[ExcelFunction(Description = "Получение названия первого продукта по запросу в интернет-магазин REHAU")]
|
||||
public static object RAUNAME([ExcelArgument(Name = "Запрос", Description = "Запрос в свободной форме или ячейка с запросом")] string request)
|
||||
[ExcelFunction(description: "Получение названия первого продукта в поиске")]
|
||||
public static object RAUNAME([ExcelArgument(Name = "\"Запрос\"", Description = "в свободной форме или ячейка с запросом")] string request)
|
||||
=> MakeRequest(request, ProductField.Name);
|
||||
|
||||
[ExcelFunction(Description = "Получение артикула первого продукта по запросу в интернет-магазин REHAU")]
|
||||
public static object RAUSKU([ExcelArgument(Name = "Запрос", Description = "Запрос в свободной форме или ячейка с запросом")] string request)
|
||||
[ExcelFunction(Description = "Получение артикула первого продукта в поиске")]
|
||||
public static object RAUSKU([ExcelArgument(Name = "\"Запрос\"", Description = "в свободной форме или ячейка с запросом")] string request)
|
||||
=> MakeRequest(request, ProductField.Id);
|
||||
|
||||
[ExcelFunction(Description = "Получение цены первого продукта по запросу в интернет-магазин REHAU")]
|
||||
public static object RAUPRICE([ExcelArgument(Name = "Запрос", Description = "Запрос в свободной форме или ячейка с запросом")] string request)
|
||||
[ExcelFunction(Description = "Получение цены первого продукта в поиске")]
|
||||
public static object RAUPRICE([ExcelArgument(Name = "\"Запрос\"", Description = "в свободной форме или ячейка с запросом")] string request)
|
||||
=> MakeRequest(request, ProductField.Price);
|
||||
|
||||
private static object MakeRequest(string request, ProductField field)
|
||||
|
@ -6,71 +6,37 @@ namespace RehauSku
|
||||
{
|
||||
public static string PriceListPath
|
||||
{
|
||||
get
|
||||
{
|
||||
_GetRootKey();
|
||||
|
||||
if (_RootKey == null)
|
||||
{
|
||||
return @"D:\Dropbox\Рабочее\Таблица заказов ИС EAE_2021.xlsm";
|
||||
}
|
||||
|
||||
else return (string)_RootKey.GetValue("PriceListPath");
|
||||
}
|
||||
|
||||
private set
|
||||
{
|
||||
_GetRootKey();
|
||||
|
||||
if (_RootKey == null)
|
||||
{
|
||||
RegistryKey PriceListPath = Registry.CurrentUser
|
||||
.CreateSubKey("SOFTWARE")
|
||||
.CreateSubKey("REHAU")
|
||||
.CreateSubKey("SkuAssist");
|
||||
}
|
||||
|
||||
_RootKey.SetValue("PriceListPath", value);
|
||||
}
|
||||
get => (string)_RootKey.GetValue("PriceListPath");
|
||||
}
|
||||
|
||||
public static ResponseOrder StoreResponseOrder
|
||||
{
|
||||
get => (ResponseOrder)_RootKey.GetValue("StoreResponseOrder");
|
||||
}
|
||||
|
||||
private static RegistryKey _RootKey
|
||||
{
|
||||
get
|
||||
{
|
||||
_GetRootKey();
|
||||
|
||||
if (_RootKey == null)
|
||||
{
|
||||
return ResponseOrder.Default;
|
||||
}
|
||||
|
||||
return (ResponseOrder)_RootKey.GetValue("ResponseOrder");
|
||||
}
|
||||
|
||||
private set
|
||||
{
|
||||
if (_RootKey == null)
|
||||
{
|
||||
RegistryKey PriceListPath = Registry.CurrentUser
|
||||
.CreateSubKey("SOFTWARE")
|
||||
.CreateSubKey("REHAU")
|
||||
.CreateSubKey("SkuAssist");
|
||||
}
|
||||
|
||||
_RootKey.SetValue("ResponseOrder", value);
|
||||
return _OpenRootKey() ?? _CreateRootKey();
|
||||
}
|
||||
}
|
||||
|
||||
private static RegistryKey _RootKey { get; set; }
|
||||
|
||||
private static void _GetRootKey()
|
||||
private static RegistryKey _OpenRootKey()
|
||||
{
|
||||
_RootKey = Registry
|
||||
.CurrentUser
|
||||
.OpenSubKey("SOFTWARE")
|
||||
.OpenSubKey("REHAU")
|
||||
.OpenSubKey("SkuAssist");
|
||||
return Registry.CurrentUser
|
||||
.OpenSubKey(@"SOFTWARE\REHAU\SkuAssist");
|
||||
}
|
||||
|
||||
private static RegistryKey _CreateRootKey()
|
||||
{
|
||||
RegistryKey key = Registry.CurrentUser
|
||||
.CreateSubKey(@"SOFTWARE\REHAU\SkuAssist");
|
||||
|
||||
key.SetValue("PriceListPath", @"D:\Dropbox\Рабочее\Таблица заказов ИС EAE_2021.xlsm");
|
||||
key.SetValue("StoreResponseOrder", 0);
|
||||
|
||||
return key;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ namespace RehauSku.Assistant
|
||||
baseUri.Path = "/catalogsearch/result/index/";
|
||||
string cleanedRequest = request.CleanRequest();
|
||||
|
||||
switch (AddIn.StoreResponseOrder)
|
||||
switch (RegistryUtil.StoreResponseOrder)
|
||||
{
|
||||
case ResponseOrder.Relevance:
|
||||
baseUri.Query = "dir=asc&order=relevance&q=" + cleanedRequest;
|
||||
|
@ -76,7 +76,7 @@ namespace RehauSku.DataExport
|
||||
public void FillPriceList()
|
||||
{
|
||||
string exportFile = _GetExportFullPath();
|
||||
File.Copy(AddIn.PriceListPath, exportFile, true);
|
||||
File.Copy(RegistryUtil.PriceListPath, exportFile, true);
|
||||
|
||||
Workbook wb = xlApp.Workbooks.Open(exportFile);
|
||||
Worksheet ws = wb.ActiveSheet;
|
||||
@ -94,7 +94,7 @@ namespace RehauSku.DataExport
|
||||
|
||||
private string _GetExportFullPath()
|
||||
{
|
||||
string fileExtension = Path.GetExtension(AddIn.PriceListPath);
|
||||
string fileExtension = Path.GetExtension(RegistryUtil.PriceListPath);
|
||||
|
||||
return Path.GetTempFileName() + fileExtension;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user