RhSolutions-AddIn/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs
2023-03-28 07:55:45 +03:00

44 lines
1.4 KiB
C#

using ExcelDna.Integration;
using ExcelDna.IntelliSense;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Office.Interop.Excel;
using RhSolutions.Services;
using System;
using System.Net;
namespace RhSolutions.AddIn
{
public sealed class RhSolutionsAddIn : IExcelAddIn
{
public static Application Excel { get; private set; }
public static ServiceProvider ServiceProvider { get; set; }
public static IAddInConfiguration Configuration { get; set; }
public void AutoOpen()
{
IServiceCollection Services = new ServiceCollection();
Services.AddHttpClient()
.AddSingleton<IDatabaseClient, RhDatabaseClient>()
.AddSingleton<IAddInConfiguration, AddInConfiguration>()
.AddSingleton((Application)ExcelDnaUtil.Application);
ServiceProvider = Services.BuildServiceProvider();
Configuration = ServiceProvider.GetService<IAddInConfiguration>();
Excel = ServiceProvider.GetService<Application>();
IntelliSenseServer.Install();
EventsUtil.Initialize();
ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls12;
}
public void AutoClose()
{
IntelliSenseServer.Uninstall();
EventsUtil.Uninitialize();
}
}
}