Skip to content

Commit 0211c5e

Browse files
authored
Merge pull request #39 from umbraco/v10/dev
emerchantpay V10 migration
2 parents ba6302f + 2181592 commit 0211c5e

26 files changed

+190
-391
lines changed

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/App_Plugins/UmbracoForms.Integrations/Commerce/Emerchantpay/currency.controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
}
1515

1616
angular.module("umbraco")
17-
.controller("UmbracoForms.Integrations.Commerce.Emerchantpay.CurrencyController", CurrencyController);
17+
.controller("UmbracoForms.Integrations.Commerce.Emerchantpay.CurrencyController", CurrencyController);

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/App_Plugins/UmbracoForms.Integrations/Commerce/Emerchantpay/currency.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
</select>
88
</div>
99

10-
</div>
10+
</div>

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/App_Plugins/UmbracoForms.Integrations/Commerce/Emerchantpay/customer-details-mapper.controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,4 @@
6868
}
6969

7070
angular.module("umbraco")
71-
.controller("UmbracoForms.Integrations.Commerce.Emerchantpay.CustomerDetailsMapperController", CustomerDetailsMapperController);
71+
.controller("UmbracoForms.Integrations.Commerce.Emerchantpay.CustomerDetailsMapperController", CustomerDetailsMapperController);

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/App_Plugins/UmbracoForms.Integrations/Commerce/Emerchantpay/customer-details-mapper.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div ng-controller="UmbracoForms.Integrations.Commerce.Emerchantpay.CustomerDetailsMapperController as vm">
1+
<div ng-controller="UmbracoForms.Integrations.Commerce.Emerchantpay.CustomerDetailsMapperController as vm">
22

33
<div>
44
<select ng-model="vm.selectedCustomerProperty">
@@ -11,8 +11,8 @@
1111
</select>
1212
</div>
1313

14-
<div ng-if="vm.requiredFields.length > 0" class="alert alert-info mt2 mr3" role="alert">
15-
<span>Mandatory fields: {{ vm.requiredFields }}</span>
14+
<div ng-if="vm.requiredFields.length > 0" class="alert alert-info mt2 mr3" role="alert">
15+
<span>Mandatory fields: {{ vm.requiredFields }}</span>
1616
</div>
1717

1818
<div class="mt2">
@@ -42,4 +42,4 @@
4242
</div>
4343
</div>
4444

45-
</div>
45+
</div>

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/App_Plugins/UmbracoForms.Integrations/Commerce/Emerchantpay/field-picker.controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
}
2222

2323
angular.module("umbraco")
24-
.controller("UmbracoForms.Integrations.Commerce.Emerchantpay.FieldPickerController", FieldPickerController);
24+
.controller("UmbracoForms.Integrations.Commerce.Emerchantpay.FieldPickerController", FieldPickerController);

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/App_Plugins/UmbracoForms.Integrations/Commerce/Emerchantpay/field-picker.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
</select>
88
</div>
99

10-
</div>
10+
</div>
Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
1-
#if NETCOREAPP
2-
using Microsoft.AspNetCore.Mvc.ModelBinding;
3-
#else
4-
using System.Web.Http.Controllers;
5-
using System.Web.Http.ModelBinding;
6-
#endif
1+
using Microsoft.AspNetCore.Mvc.ModelBinding;
72

83
using System;
9-
using System.Linq;
104
using System.Threading.Tasks;
5+
116
using Umbraco.Forms.Integrations.Commerce.Emerchantpay.Models.Dtos;
127

138
namespace Umbraco.Forms.Integrations.Commerce.Emerchantpay.Configuration
149
{
1510
public sealed class NotificationModelBinder : IModelBinder
1611
{
17-
#if NETCOREAPP
1812
public Task BindModelAsync(ModelBindingContext bindingContext)
1913
{
2014
if (bindingContext == null)
@@ -39,44 +33,5 @@ public Task BindModelAsync(ModelBindingContext bindingContext)
3933

4034
return Task.CompletedTask;
4135
}
42-
#else
43-
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
44-
{
45-
var notification = new NotificationDto();
46-
47-
var transactionIdValueResult = bindingContext.ValueProvider
48-
.GetValue(CreateFullPropertyName(bindingContext, Constants.NotificationProperty.TransactionId));
49-
if (transactionIdValueResult != null)
50-
{
51-
notification.TransactionId = transactionIdValueResult.AttemptedValue;
52-
}
53-
54-
var uniqueIdValueResult = bindingContext.ValueProvider.GetValue(CreateFullPropertyName(bindingContext, Constants.NotificationProperty.UniqueId));
55-
if (uniqueIdValueResult != null)
56-
notification.UniqueId= uniqueIdValueResult.AttemptedValue;
57-
58-
var statusValueResult = bindingContext.ValueProvider.GetValue(CreateFullPropertyName(bindingContext, Constants.NotificationProperty.Status));
59-
if (statusValueResult != null)
60-
{
61-
notification.Status = statusValueResult.AttemptedValue;
62-
}
63-
64-
bindingContext.Model = notification;
65-
66-
bindingContext.ValidationNode.ValidateAllProperties = true;
67-
68-
return true;
69-
}
70-
#endif
71-
72-
private string CreateFullPropertyName(ModelBindingContext bindingContext, string propertyName)
73-
{
74-
if (string.IsNullOrEmpty(bindingContext.ModelName))
75-
{
76-
return propertyName;
77-
}
78-
return bindingContext.ModelName + "." + propertyName;
79-
}
80-
8136
}
82-
}
37+
}
Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,9 @@
11
using System.Collections.Generic;
2-
using System.Collections.Specialized;
32

43
namespace Umbraco.Forms.Integrations.Commerce.Emerchantpay.Configuration
54
{
65
public class PaymentProviderSettings
76
{
8-
public PaymentProviderSettings()
9-
{
10-
}
11-
12-
public PaymentProviderSettings(NameValueCollection appSettings)
13-
{
14-
GatewayBaseUrl = appSettings[Constants.Configuration.GatewayBaseUrlKey];
15-
16-
WpfUrl = appSettings[Constants.Configuration.WpfUrlKey];
17-
18-
Username = appSettings[Constants.Configuration.UsernameKey];
19-
20-
Password = appSettings[Constants.Configuration.PasswordKey];
21-
22-
Supplier = appSettings[Constants.Configuration.SupplierKey];
23-
24-
Usage = appSettings[Constants.Configuration.UsageKey];
25-
26-
#if NETFRAMEWORK
27-
Currencies = appSettings[Constants.Configuration.CurrenciesKey];
28-
29-
TransactionTypes = appSettings[Constants.Configuration.TransactionTypesKey];
30-
31-
MappingFields = appSettings[Constants.Configuration.MappingFieldsKey];
32-
#endif
33-
34-
UmbracoBaseUrl = appSettings[Constants.Configuration.UmbracoBaseUrlKey];
35-
}
36-
377
public string GatewayBaseUrl { get; set; }
388

399
public string WpfUrl { get; set; }
@@ -48,20 +18,10 @@ public PaymentProviderSettings(NameValueCollection appSettings)
4818

4919
public string UmbracoBaseUrl { get; set; }
5020

51-
#if NETCOREAPP
5221
public Dictionary<string, string> Currencies { get; set; }
5322

5423
public string[] TransactionTypes { get; set; }
5524

5625
public string[] MappingFields { get; set; }
57-
#else
58-
public string Currencies { get; set; }
59-
60-
public string TransactionTypes { get; set; }
61-
62-
public string MappingFields { get; set; }
63-
#endif
64-
65-
6626
}
67-
}
27+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using Microsoft.Extensions.Options;
2+
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Linq;
6+
7+
namespace Umbraco.Forms.Integrations.Commerce.Emerchantpay.Configuration
8+
{
9+
public class SettingsParser : ISettingsParser
10+
{
11+
private readonly PaymentProviderSettings _settings;
12+
13+
public SettingsParser(IOptions<PaymentProviderSettings> options)
14+
{
15+
_settings = options.Value;
16+
}
17+
18+
public Dictionary<string, string> AsDictionary(string propertyName)
19+
{
20+
var property = _settings.GetType().GetProperty(propertyName);
21+
22+
if (property == null) throw new ArgumentNullException(nameof(SettingsParser));
23+
24+
var propertyValues = property.GetValue(_settings) as Dictionary<string, string>;
25+
26+
return propertyValues;
27+
}
28+
29+
public IEnumerable<string> AsEnumerable(string propertyName)
30+
{
31+
var property = _settings.GetType().GetProperty(propertyName);
32+
33+
if (property == null) throw new ArgumentNullException(nameof(SettingsParser));
34+
35+
var propertyValues = property.GetValue(_settings);
36+
37+
return propertyValues != null ? propertyValues as IEnumerable<string> : Enumerable.Empty<string>();
38+
}
39+
}
40+
}

src/Umbraco.Forms.Integrations.Commerce.EMerchantPay/Constants.cs

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,6 @@ public class Constants
88
public static class Configuration
99
{
1010
public const string Settings = "Umbraco:Forms:Integrations:Commerce:Emerchantpay:Settings";
11-
12-
public const string GatewayBaseUrlKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.GatewayBaseurl";
13-
14-
public const string WpfUrlKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.WpfUrl";
15-
16-
public const string UsernameKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.Username";
17-
18-
public const string PasswordKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.Password";
19-
20-
public const string SupplierKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.Supplier";
21-
22-
public const string UsageKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.Usage";
23-
24-
public const string CurrenciesKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.Currencies";
25-
26-
public const string TransactionTypesKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.TransactionTypes";
27-
28-
public const string MappingFieldsKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.MappingFields";
29-
30-
public const string UmbracoBaseUrlKey = "Umbraco.Forms.Integrations.Commerce.Emerchantpay.UmbracoBaseUrl";
3111
}
3212

3313
public static class ErrorCode
@@ -65,5 +45,12 @@ public static class PaymentStatus
6545
{
6646
public const string Approved = "approved";
6747
}
48+
49+
public static class HttpClients
50+
{
51+
public const string GatewayClient = "GatewayClient";
52+
53+
public const string WpfClient = "WpfClient";
54+
}
6855
}
6956
}

0 commit comments

Comments
 (0)