From f97d344f39c46b5e2f883765e8859e78007a11b0 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 22 Dec 2021 08:26:54 +0300 Subject: Add Registry Util --- Source/AddIn/AddIn.cs | 4 +-- Source/AddIn/Functions.cs | 12 +++---- Source/AddIn/RegistryUtil.cs | 74 ++++++++++++-------------------------------- 3 files changed, 27 insertions(+), 63 deletions(-) (limited to 'Source/AddIn') diff --git a/Source/AddIn/AddIn.cs b/Source/AddIn/AddIn.cs index 7a2be5d..4a26f55 100644 --- a/Source/AddIn/AddIn.cs +++ b/Source/AddIn/AddIn.cs @@ -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() { diff --git a/Source/AddIn/Functions.cs b/Source/AddIn/Functions.cs index 2ae22e4..618d17d 100644 --- a/Source/AddIn/Functions.cs +++ b/Source/AddIn/Functions.cs @@ -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) diff --git a/Source/AddIn/RegistryUtil.cs b/Source/AddIn/RegistryUtil.cs index 105d5af..6ab7682 100644 --- a/Source/AddIn/RegistryUtil.cs +++ b/Source/AddIn/RegistryUtil.cs @@ -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 - { - _GetRootKey(); - - if (_RootKey == null) - { - return ResponseOrder.Default; - } - - return (ResponseOrder)_RootKey.GetValue("ResponseOrder"); - } + get => (ResponseOrder)_RootKey.GetValue("StoreResponseOrder"); + } - private set + private static RegistryKey _RootKey + { + get { - 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 RegistryKey _OpenRootKey() + { + return Registry.CurrentUser + .OpenSubKey(@"SOFTWARE\REHAU\SkuAssist"); + } - private static void _GetRootKey() + private static RegistryKey _CreateRootKey() { - _RootKey = Registry - .CurrentUser - .OpenSubKey("SOFTWARE") - .OpenSubKey("REHAU") - .OpenSubKey("SkuAssist"); + RegistryKey key = Registry.CurrentUser + .CreateSubKey(@"SOFTWARE\REHAU\SkuAssist"); + + key.SetValue("PriceListPath", @"D:\Dropbox\Рабочее\Таблица заказов ИС EAE_2021.xlsm"); + key.SetValue("StoreResponseOrder", 0); + + return key; } } } -- cgit v1.2.3