Skip to content

Commit 26d0ca7

Browse files
authored
VCST-3999: Improve refund data model (#467)
1 parent 3605302 commit 26d0ca7

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

src/VirtoCommerce.OrdersModule.Data/Services/PaymentFlowService.cs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Collections.Generic;
3-
using System.Collections.Specialized;
43
using System.Linq;
54
using System.Threading.Tasks;
65
using FluentValidation;
@@ -27,11 +26,11 @@ public class PaymentFlowService : IPaymentFlowService
2726
private readonly IValidator<OrderPaymentInfo> _validator;
2827
private readonly ITenantUniqueNumberGenerator _uniqueNumberGenerator;
2928

30-
protected virtual string[] CaptureRuleSets => new[] { PaymentRequestValidator.DefaultRuleSet, PaymentRequestValidator.CaptureRuleSet };
31-
protected virtual string[] RefundRuleSets => new[] { PaymentRequestValidator.DefaultRuleSet, PaymentRequestValidator.RefundRuleSet };
29+
protected virtual string[] CaptureRuleSets => [PaymentRequestValidator.DefaultRuleSet, PaymentRequestValidator.CaptureRuleSet];
30+
protected virtual string[] RefundRuleSets => [PaymentRequestValidator.DefaultRuleSet, PaymentRequestValidator.RefundRuleSet];
3231

33-
protected virtual PaymentStatus[] CaptureAllowedPaymentStatuses => new[] { PaymentStatus.Authorized, PaymentStatus.Paid };
34-
protected virtual PaymentStatus[] RefundAllowedPaymentStatuses => new[] { PaymentStatus.Paid, PaymentStatus.PartiallyRefunded, PaymentStatus.Refunded };
32+
protected virtual PaymentStatus[] CaptureAllowedPaymentStatuses => [PaymentStatus.Authorized, PaymentStatus.Paid];
33+
protected virtual PaymentStatus[] RefundAllowedPaymentStatuses => [PaymentStatus.Paid, PaymentStatus.PartiallyRefunded, PaymentStatus.Refunded];
3534

3635
public PaymentFlowService(
3736
ICustomerOrderService customerOrderService,
@@ -110,7 +109,7 @@ protected virtual async Task<RefundOrderPaymentResult> CreateRefundDocument(Refu
110109
}
111110

112111

113-
await _customerOrderService.SaveChangesAsync(new[] { paymentInfo.CustomerOrder });
112+
await _customerOrderService.SaveChangesAsync([paymentInfo.CustomerOrder]);
114113

115114
result.Succeeded = true;
116115

@@ -145,7 +144,7 @@ protected virtual async Task<RefundOrderPaymentResult> SaveResultToRefundDocumen
145144
result.ErrorMessage = refundResult.ErrorMessage;
146145
}
147146

148-
await _customerOrderService.SaveChangesAsync(new[] { paymentInfo.CustomerOrder });
147+
await _customerOrderService.SaveChangesAsync([paymentInfo.CustomerOrder]);
149148

150149
return result;
151150
}
@@ -186,7 +185,7 @@ public virtual async Task<CaptureOrderPaymentResult> CreateCaptureDocument(Captu
186185
paymentInfo.Payment.Captures.Add(capture);
187186
}
188187

189-
await _customerOrderService.SaveChangesAsync(new[] { paymentInfo.CustomerOrder });
188+
await _customerOrderService.SaveChangesAsync([paymentInfo.CustomerOrder]);
190189

191190
result.Succeeded = true;
192191

@@ -223,7 +222,7 @@ public virtual async Task<CaptureOrderPaymentResult> SaveResultToCaptureDocument
223222
result.ErrorMessage = captureResult.ErrorMessage;
224223
}
225224

226-
await _customerOrderService.SaveChangesAsync(new[] { paymentInfo.CustomerOrder });
225+
await _customerOrderService.SaveChangesAsync([paymentInfo.CustomerOrder]);
227226

228227
return result;
229228
}
@@ -292,13 +291,12 @@ protected virtual CapturePaymentRequest GetCapturePaymentRequest(OrderPaymentInf
292291
result.CaptureAmount = request.Amount ?? paymentInfo.Payment.Sum;
293292
result.OuterId = request.OuterId;
294293

295-
var parameters = new NameValueCollection
296-
{
297-
{ nameof(request.CloseTransaction), request.CloseTransaction.ToString() },
298-
{ nameof(request.CaptureDetails), request.CaptureDetails ?? string.Empty }
299-
};
294+
result.Parameters ??= [];
295+
296+
result.Parameters.Add(nameof(request.CloseTransaction), request.CloseTransaction.ToString());
297+
result.Parameters.Add(nameof(request.CaptureDetails), request.CaptureDetails ?? string.Empty);
298+
result.Parameters.Add(nameof(request.TransactionId), request.TransactionId ?? string.Empty);
300299

301-
result.Parameters = parameters;
302300

303301
return result;
304302
}
@@ -314,6 +312,10 @@ protected virtual RefundPaymentRequest GetRefundPaymentRequest(OrderPaymentInfo
314312
result.Notes = request.ReasonMessage;
315313
result.OuterId = request.OuterId;
316314

315+
result.Parameters ??= [];
316+
317+
result.Parameters.Add(nameof(request.TransactionId), request.TransactionId ?? string.Empty);
318+
317319
return result;
318320
}
319321

0 commit comments

Comments
 (0)