-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathFfeAddIn.cs
66 lines (59 loc) · 2.02 KB
/
FfeAddIn.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using Bluegrams.Application;
using ExcelDna.Integration;
using ExcelDna.Registration;
using Serilog;
using System;
using System.Linq;
namespace FFE
{
public class FfeAddIn : IExcelAddIn
{
public void AutoOpen()
{
PortableSettingsProvider.AllRoaming = true;
PortableSettingsProvider.SettingsFileName = "FFE.config";
PortableSettingsProvider.ApplyProvider(AvqSetting.Default);
PortableSettingsProvider.ApplyProvider(CbqSetting.Default);
PortableSettingsProvider.ApplyProvider(PlugInSetting.Default);
PortableSettingsProvider.ApplyProvider(SsqSetting.Default);
PortableSettingsProvider.ApplyProvider(FfeSetting.Default);
Log.Logger = FfeLogger.CreateDefaultLogger();
if (FfeSetting.Default.CheckUpdateOnStartup)
{
FfeUpdate.CheckUpdate(false);
}
if (FfeSetting.Default.RegisterFunctionsOnStartup)
{
RegisterFunctions();
RegisterDelegates();
}
}
public void RegisterFunctions()
{
ExcelRegistration.GetExcelFunctions()
.Where(x => x.FunctionAttribute.Category.Equals("FFE"))
.Select(f =>
{
Log.Debug("Registered FFE function: {@FfeFunction}", f.FunctionAttribute.Name);
return f;
})
.RegisterFunctions();
}
public void RegisterDelegates()
{
try
{
SsqLoader.GetExcelFunctions()
.RegisterFunctions();
}
catch (Exception ex)
{
Log.Error("Exception while registering SSQ Excel functions. Message: {@ExceptionMessage}", ex.Message);
}
}
public void AutoClose()
{
// Do nothing
}
}
}