RhSolutions-AddIn/src/AddIn/AddIn.cs

69 lines
1.8 KiB
C#
Raw Normal View History

2021-11-29 15:50:24 +03:00
using ExcelDna.Integration;
using ExcelDna.IntelliSense;
2021-11-29 15:50:24 +03:00
using ExcelDna.Registration;
2022-01-09 15:47:54 +03:00
using Microsoft.Office.Interop.Excel;
using System.Net.Http;
2021-12-24 16:22:03 +03:00
using System.Runtime.Caching;
2021-11-29 15:50:24 +03:00
2021-12-08 14:45:14 +03:00
namespace RehauSku
2021-11-29 15:50:24 +03:00
{
2022-02-02 18:10:29 +03:00
enum ResponseOrder
{
Default,
Relevance,
Name,
Price,
Series
}
2022-02-02 18:10:29 +03:00
class AddIn : IExcelAddIn
2021-11-29 15:50:24 +03:00
{
2021-12-24 16:22:03 +03:00
public static HttpClient httpClient;
public static MemoryCache memoryCache;
2022-01-09 15:47:54 +03:00
public static Application Excel;
2021-11-29 15:50:24 +03:00
public void AutoOpen()
{
2021-12-24 16:22:03 +03:00
httpClient = new HttpClient();
memoryCache = new MemoryCache("RehauSku");
2021-11-29 15:50:24 +03:00
RegisterFunctions();
IntelliSenseServer.Install();
2021-12-22 17:07:37 +03:00
RegistryUtil.Initialize();
2022-01-09 15:47:54 +03:00
Excel = (Application)ExcelDnaUtil.Application;
AddEvents();
}
private void AddEvents()
{
Excel.SheetSelectionChange += RefreshExportButton;
Excel.SheetActivate += RefreshConvertButton;
Excel.WorkbookActivate += RefreshConvertButton;
}
private void RefreshConvertButton(object sh)
{
Interface.RibbonController.RefreshControl("convertPrice");
}
private void RefreshExportButton(object sh, Range target)
{
Interface.RibbonController.RefreshControl("exportToPrice");
2021-11-29 15:50:24 +03:00
}
public void AutoClose()
{
IntelliSenseServer.Uninstall();
2021-12-23 15:31:23 +03:00
RegistryUtil.Uninitialize();
2021-12-24 16:22:03 +03:00
memoryCache.Dispose();
2021-11-29 15:50:24 +03:00
}
void RegisterFunctions()
{
ExcelRegistration.GetExcelFunctions()
.ProcessAsyncRegistrations(nativeAsyncIfAvailable: false)
.RegisterFunctions();
}
}
}