forked from smartstore/SmartStoreNET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlugin.cs
More file actions
80 lines (69 loc) · 2.74 KB
/
Copy pathPlugin.cs
File metadata and controls
80 lines (69 loc) · 2.74 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
using System;
using System.Data.Entity.Migrations;
using System.Web.Routing;
using SmartStore.Core;
using SmartStore.Core.Domain.Shipping;
using SmartStore.Core.Plugins;
using SmartStore.Shipping.Data;
using SmartStore.Shipping.Data.Migrations;
using SmartStore.Shipping.Services;
using SmartStore.Services.Catalog;
using SmartStore.Services.Configuration;
using SmartStore.Services.Localization;
using SmartStore.Core.Logging;
using SmartStore.Services.Shipping;
using SmartStore.Services.Shipping.Tracking;
namespace SmartStore.Shipping
{
public class Plugin : BasePlugin
{
private readonly ILogger _logger;
private readonly ISettingService _settingService;
private readonly ILocalizationService _localizationService;
private readonly ByTotalObjectContext _objectContext;
/// <summary>
/// Ctor
/// </summary>
/// <param name="logger">Logger</param>
/// /// <param name="settingService">Settings service</param>
/// /// <param name="settingService">Localization service</param>
public Plugin(ILogger logger,
ISettingService settingService,
ILocalizationService localizationService,
ByTotalObjectContext objectContext)
{
this._logger = logger;
this._settingService = settingService;
this._localizationService = localizationService;
this._objectContext = objectContext;
}
/// <summary>
/// Install the plugin
/// </summary>
public override void Install()
{
var shippingByTotalSettings = new ShippingByTotalSettings()
{
LimitMethodsToCreated = false,
SmallQuantityThreshold = 0,
SmallQuantitySurcharge = 0
};
_settingService.SaveSetting(shippingByTotalSettings);
_localizationService.ImportPluginResourcesFromXml(this.PluginDescriptor);
base.Install();
_logger.Information(string.Format("Plugin installed: SystemName: {0}, Version: {1}, Description: '{2}'", PluginDescriptor.SystemName, PluginDescriptor.Version, PluginDescriptor.FriendlyName));
}
/// <summary>
/// Uninstall the plugin
/// </summary>
public override void Uninstall()
{
_settingService.DeleteSetting<ShippingByTotalSettings>();
_localizationService.DeleteLocaleStringResources(PluginDescriptor.ResourceRootKey);
var migrator = new DbMigrator(new Configuration());
migrator.Update(DbMigrator.InitialDatabase);
_localizationService.DeleteLocaleStringResources("Plugins.FriendlyName.Shipping.FixedRateShipping", false);
base.Uninstall();
}
}
}