Browse Source

Try EF TPC

pull/49/head
gdlcf88 6 years ago
parent
commit
5458df9be2
  1. 16
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Authorization/PaymentsPermissionDefinitionProvider.cs
  2. 22
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Authorization/PaymentsPermissions.cs
  3. 9
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Payments/Dtos/CreateUpdatePaymentDto.cs
  4. 10
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Payments/Dtos/PaymentDto.cs
  5. 18
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Payments/IPaymentAppService.cs
  6. 10
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Refunds/Dtos/CreateUpdateRefundDto.cs
  7. 11
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Refunds/Dtos/RefundDto.cs
  8. 18
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Refunds/IRefundAppService.cs
  9. 25
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Payments/PaymentAppService.cs
  10. 8
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/PaymentsApplicationAutoMapperProfile.cs
  11. 25
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Refunds/RefundAppService.cs
  12. 18
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/cs.json
  13. 20
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/en.json
  14. 18
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pl.json
  15. 18
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pt-BR.json
  16. 20
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/sl.json
  17. 20
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/tr.json
  18. 18
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/vi.json
  19. 20
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hans.json
  20. 20
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hant.json
  21. 9
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/IPaymentRepository.cs
  22. 15
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/Payment.cs
  23. 9
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Refunds/IRefundRepository.cs
  24. 15
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Refunds/Refund.cs
  25. 4
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/EShopPaymentsEntityFrameworkCoreModule.cs
  26. 5
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/IPaymentsDbContext.cs
  27. 4
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/PaymentsDbContext.cs
  28. 17
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/PaymentsDbContextModelCreatingExtensions.cs
  29. 14
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/Payments/PaymentRepository.cs
  30. 14
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/Refunds/RefundRepository.cs
  31. 61
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/Index.cshtml
  32. 12
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/Index.cshtml.cs
  33. 0
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/index.css
  34. 41
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/index.js
  35. 60
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/Index.cshtml
  36. 12
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/Index.cshtml.cs
  37. 0
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/index.css
  38. 55
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/index.js
  39. 21
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/PaymentsMenuContributor.cs
  40. 2
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/PaymentsWebAutoMapperProfile.cs
  41. 26
      modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Application.Tests/Payments/PaymentAppServiceTests.cs
  42. 26
      modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Application.Tests/Refunds/RefundAppServiceTests.cs
  43. 23
      modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Domain.Tests/Payments/PaymentDomainTests.cs
  44. 23
      modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Domain.Tests/Refunds/RefundDomainTests.cs
  45. 31
      modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.EntityFrameworkCore.Tests/EntityFrameworkCore/Payments/PaymentRepositoryTests.cs
  46. 31
      modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.EntityFrameworkCore.Tests/EntityFrameworkCore/Refunds/RefundRepositoryTests.cs

16
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Authorization/PaymentsPermissionDefinitionProvider.cs

@ -1,4 +1,4 @@
using EasyAbp.EShop.Payments.Localization;
using EasyAbp.EShop.Payments.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
@ -8,7 +8,17 @@ namespace EasyAbp.EShop.Payments.Authorization
{
public override void Define(IPermissionDefinitionContext context)
{
// var moduleGroup = context.AddGroup(PaymentsPermissions.GroupName, L("Permission:Payments"));
var moduleGroup = context.AddGroup(PaymentsPermissions.GroupName, L("Permission:Payments"));
var paymentPermission = moduleGroup.AddPermission(PaymentsPermissions.Payments.Default, L("Permission:Payments"));
paymentPermission.AddChild(PaymentsPermissions.Payments.Create, L("Permission:Create"));
paymentPermission.AddChild(PaymentsPermissions.Payments.Update, L("Permission:Update"));
paymentPermission.AddChild(PaymentsPermissions.Payments.Delete, L("Permission:Delete"));
var refundPermission = moduleGroup.AddPermission(PaymentsPermissions.Refunds.Default, L("Permission:Refunds"));
refundPermission.AddChild(PaymentsPermissions.Refunds.Create, L("Permission:Create"));
refundPermission.AddChild(PaymentsPermissions.Refunds.Update, L("Permission:Update"));
refundPermission.AddChild(PaymentsPermissions.Refunds.Delete, L("Permission:Delete"));
}
private static LocalizableString L(string name)
@ -16,4 +26,4 @@ namespace EasyAbp.EShop.Payments.Authorization
return LocalizableString.Create<PaymentsResource>(name);
}
}
}
}

22
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Authorization/PaymentsPermissions.cs

@ -1,4 +1,4 @@
using Volo.Abp.Reflection;
using Volo.Abp.Reflection;
namespace EasyAbp.EShop.Payments.Authorization
{
@ -10,5 +10,23 @@ namespace EasyAbp.EShop.Payments.Authorization
{
return ReflectionHelper.GetPublicConstantsRecursively(typeof(PaymentsPermissions));
}
public class Payments
{
public const string Default = GroupName + ".Payments";
public const string Update = Default + ".Update";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
}
public class Refunds
{
public const string Default = GroupName + ".Refunds";
public const string Update = Default + ".Update";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
}
}
}
}

9
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Payments/Dtos/CreateUpdatePaymentDto.cs

@ -0,0 +1,9 @@
using System;
using System.ComponentModel;
namespace EasyAbp.EShop.Payments.Payments.Dtos
{
public class CreateUpdatePaymentDto
{
public Guid? StoreId { get; set; }
}
}

10
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Payments/Dtos/PaymentDto.cs

@ -0,0 +1,10 @@
using System;
using PaymentServicePaymentDto = EasyAbp.PaymentService.Payments.Dtos.PaymentDto;
namespace EasyAbp.EShop.Payments.Payments.Dtos
{
public class PaymentDto : PaymentServicePaymentDto
{
public Guid? StoreId { get; set; }
}
}

18
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Payments/IPaymentAppService.cs

@ -0,0 +1,18 @@
using System;
using EasyAbp.EShop.Payments.Payments.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace EasyAbp.EShop.Payments.Payments
{
public interface IPaymentAppService :
ICrudAppService<
PaymentDto,
Guid,
PagedAndSortedResultRequestDto,
CreateUpdatePaymentDto,
CreateUpdatePaymentDto>
{
}
}

10
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Refunds/Dtos/CreateUpdateRefundDto.cs

@ -0,0 +1,10 @@
using System;
using System.ComponentModel;
namespace EasyAbp.EShop.Payments.Refunds.Dtos
{
public class CreateUpdateRefundDto
{
[DisplayName("RefundStoreId")]
public Guid? StoreId { get; set; }
}
}

11
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Refunds/Dtos/RefundDto.cs

@ -0,0 +1,11 @@
using System;
using Volo.Abp.Application.Dtos;
using PaymentServiceRefundDto = EasyAbp.PaymentService.Refunds.Dtos.RefundDto;
namespace EasyAbp.EShop.Payments.Refunds.Dtos
{
public class RefundDto : PaymentServiceRefundDto
{
public Guid? StoreId { get; set; }
}
}

18
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application.Contracts/EasyAbp/EShop/Payments/Refunds/IRefundAppService.cs

@ -0,0 +1,18 @@
using System;
using EasyAbp.EShop.Payments.Refunds.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace EasyAbp.EShop.Payments.Refunds
{
public interface IRefundAppService :
ICrudAppService<
RefundDto,
Guid,
PagedAndSortedResultRequestDto,
CreateUpdateRefundDto,
CreateUpdateRefundDto>
{
}
}

25
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Payments/PaymentAppService.cs

@ -0,0 +1,25 @@
using System;
using EasyAbp.EShop.Payments.Authorization;
using EasyAbp.EShop.Payments.Payments.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace EasyAbp.EShop.Payments.Payments
{
public class PaymentAppService : CrudAppService<Payment, PaymentDto, Guid, PagedAndSortedResultRequestDto, CreateUpdatePaymentDto, CreateUpdatePaymentDto>,
IPaymentAppService
{
protected override string GetPolicyName { get; set; } = PaymentsPermissions.Payments.Default;
protected override string GetListPolicyName { get; set; } = PaymentsPermissions.Payments.Default;
protected override string CreatePolicyName { get; set; } = PaymentsPermissions.Payments.Create;
protected override string UpdatePolicyName { get; set; } = PaymentsPermissions.Payments.Update;
protected override string DeletePolicyName { get; set; } = PaymentsPermissions.Payments.Delete;
private readonly IPaymentRepository _repository;
public PaymentAppService(IPaymentRepository repository) : base(repository)
{
_repository = repository;
}
}
}

8
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/PaymentsApplicationAutoMapperProfile.cs

@ -1,3 +1,7 @@
using EasyAbp.EShop.Payments.Payments;
using EasyAbp.EShop.Payments.Payments.Dtos;
using EasyAbp.EShop.Payments.Refunds;
using EasyAbp.EShop.Payments.Refunds.Dtos;
using AutoMapper;
namespace EasyAbp.EShop.Payments
@ -9,6 +13,10 @@ namespace EasyAbp.EShop.Payments
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
CreateMap<Payment, PaymentDto>();
CreateMap<CreateUpdatePaymentDto, Payment>(MemberList.Source);
CreateMap<Refund, RefundDto>();
CreateMap<CreateUpdateRefundDto, Refund>(MemberList.Source);
}
}
}

25
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Application/EasyAbp/EShop/Payments/Refunds/RefundAppService.cs

@ -0,0 +1,25 @@
using System;
using EasyAbp.EShop.Payments.Authorization;
using EasyAbp.EShop.Payments.Refunds.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace EasyAbp.EShop.Payments.Refunds
{
public class RefundAppService : CrudAppService<Refund, RefundDto, Guid, PagedAndSortedResultRequestDto, CreateUpdateRefundDto, CreateUpdateRefundDto>,
IRefundAppService
{
protected override string GetPolicyName { get; set; } = PaymentsPermissions.Refunds.Default;
protected override string GetListPolicyName { get; set; } = PaymentsPermissions.Refunds.Default;
protected override string CreatePolicyName { get; set; } = PaymentsPermissions.Refunds.Create;
protected override string UpdatePolicyName { get; set; } = PaymentsPermissions.Refunds.Update;
protected override string DeletePolicyName { get; set; } = PaymentsPermissions.Refunds.Delete;
private readonly IRefundRepository _repository;
public RefundAppService(IRefundRepository repository) : base(repository)
{
_repository = repository;
}
}
}

18
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/cs.json

@ -1,5 +1,23 @@
{
"culture": "cs",
"texts": {
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

20
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/en.json

@ -1,6 +1,24 @@
{
"culture": "en",
"texts": {
"ManageYourProfile": "Manage your profile"
"ManageYourProfile": "Manage your profile",
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

18
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pl.json

@ -1,5 +1,23 @@
{
"culture": "pl",
"texts": {
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

18
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pt-BR.json

@ -1,5 +1,23 @@
{
"culture": "pt-BR",
"texts": {
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

20
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/sl.json

@ -1,6 +1,24 @@
{
"culture": "sl",
"texts": {
"ManageYourProfile": "Upravljajte svojim profilom"
"ManageYourProfile": "Upravljajte svojim profilom",
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

20
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/tr.json

@ -1,6 +1,24 @@
{
"culture": "tr",
"texts": {
"ManageYourProfile": "Profil y�netimi"
"ManageYourProfile": "Profil y�netimi",
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

18
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/vi.json

@ -1,5 +1,23 @@
{
"culture": "vi",
"texts": {
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

20
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hans.json

@ -1,6 +1,24 @@
{
"culture": "zh-Hans",
"texts": {
"ManageYourProfile": "管理个人资料"
"ManageYourProfile": "管理个人资料",
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

20
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hant.json

@ -1,6 +1,24 @@
{
"culture": "zh-Hant",
"texts": {
"ManageYourProfile": "管理個人資料"
"ManageYourProfile": "管理個人資料",
"Permission:Payments": "Payments",
"Permission:Create": "Create",
"Permission:Update": "Update",
"Permission:Delete": "Delete",
"Menu:Payments": "MenuPayments",
"Payment": "Payment",
"PaymentStoreId": "PaymentStoreId",
"CreatePayment": "CreatePayment",
"EditPayment": "EditPayment",
"PaymentDeletionConfirmationMessage": "Are you sure to delete the payment {0}?",
"SuccessfullyDeleted": "Successfully deleted",
"Permission:Refunds": "Refunds",
"Menu:Refunds": "MenuRefunds",
"Refund": "Refund",
"RefundStoreId": "RefundStoreId",
"CreateRefund": "CreateRefund",
"EditRefund": "EditRefund",
"RefundDeletionConfirmationMessage": "Are you sure to delete the refund {0}?"
}
}

9
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/IPaymentRepository.cs

@ -0,0 +1,9 @@
using System;
using Volo.Abp.Domain.Repositories;
namespace EasyAbp.EShop.Payments.Payments
{
public interface IPaymentRepository : IRepository<Payment, Guid>
{
}
}

15
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/Payment.cs

@ -0,0 +1,15 @@
using System;
using PaymentServicePayment = EasyAbp.PaymentService.Payments.Payment;
namespace EasyAbp.EShop.Payments.Payments
{
public class Payment : PaymentServicePayment
{
public virtual Guid? StoreId { get; protected set; }
public void SetStoreId(Guid? storeId)
{
StoreId = storeId;
}
}
}

9
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Refunds/IRefundRepository.cs

@ -0,0 +1,9 @@
using System;
using Volo.Abp.Domain.Repositories;
namespace EasyAbp.EShop.Payments.Refunds
{
public interface IRefundRepository : IRepository<Refund, Guid>
{
}
}

15
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Refunds/Refund.cs

@ -0,0 +1,15 @@
using System;
using PaymentServiceRefund = EasyAbp.PaymentService.Refunds.Refund;
namespace EasyAbp.EShop.Payments.Refunds
{
public class Refund : PaymentServiceRefund
{
public virtual Guid? StoreId { get; protected set; }
public void SetStoreId(Guid? storeId)
{
StoreId = storeId;
}
}
}

4
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/EShopPaymentsEntityFrameworkCoreModule.cs

@ -1,3 +1,5 @@
using EasyAbp.EShop.Payments.Refunds;
using EasyAbp.EShop.Payments.Payments;
using EasyAbp.PaymentService.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore;
@ -19,6 +21,8 @@ namespace EasyAbp.EShop.Payments.EntityFrameworkCore
/* Add custom repositories here. Example:
* options.AddRepository<Question, EfCoreQuestionRepository>();
*/
options.AddRepository<Payment, PaymentRepository>();
options.AddRepository<Refund, RefundRepository>();
});
}
}

5
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/IPaymentsDbContext.cs

@ -1,5 +1,8 @@
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using EasyAbp.EShop.Payments.Payments;
using EasyAbp.EShop.Payments.Refunds;
namespace EasyAbp.EShop.Payments.EntityFrameworkCore
{
@ -9,5 +12,7 @@ namespace EasyAbp.EShop.Payments.EntityFrameworkCore
/* Add DbSet for each Aggregate Root here. Example:
* DbSet<Question> Questions { get; }
*/
DbSet<Payment> Payments { get; set; }
DbSet<Refund> Refunds { get; set; }
}
}

4
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/PaymentsDbContext.cs

@ -1,6 +1,8 @@
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using EasyAbp.EShop.Payments.Payments;
using EasyAbp.EShop.Payments.Refunds;
namespace EasyAbp.EShop.Payments.EntityFrameworkCore
{
@ -10,6 +12,8 @@ namespace EasyAbp.EShop.Payments.EntityFrameworkCore
/* Add DbSet for each Aggregate Root here. Example:
* public DbSet<Question> Questions { get; set; }
*/
public DbSet<Payment> Payments { get; set; }
public DbSet<Refund> Refunds { get; set; }
public PaymentsDbContext(DbContextOptions<PaymentsDbContext> options)
: base(options)

17
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/EntityFrameworkCore/PaymentsDbContextModelCreatingExtensions.cs

@ -1,7 +1,10 @@
using EasyAbp.EShop.Payments.Refunds;
using EasyAbp.EShop.Payments.Payments;
using System;
using EasyAbp.PaymentService.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;
namespace EasyAbp.EShop.Payments.EntityFrameworkCore
{
@ -41,6 +44,20 @@ namespace EasyAbp.EShop.Payments.EntityFrameworkCore
*/
builder.ConfigurePaymentService();
builder.Entity<Payment>(b =>
{
b.ToTable(options.TablePrefix + "Payments", options.Schema);
b.ConfigureByConvention();
/* Configure more properties here */
});
builder.Entity<Refund>(b =>
{
b.ToTable(options.TablePrefix + "Refunds", options.Schema);
b.ConfigureByConvention();
/* Configure more properties here */
});
}
}
}

14
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/Payments/PaymentRepository.cs

@ -0,0 +1,14 @@
using System;
using EasyAbp.EShop.Payments.EntityFrameworkCore;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
namespace EasyAbp.EShop.Payments.Payments
{
public class PaymentRepository : EfCoreRepository<PaymentsDbContext, Payment, Guid>, IPaymentRepository
{
public PaymentRepository(IDbContextProvider<PaymentsDbContext> dbContextProvider) : base(dbContextProvider)
{
}
}
}

14
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/Refunds/RefundRepository.cs

@ -0,0 +1,14 @@
using System;
using EasyAbp.EShop.Payments.EntityFrameworkCore;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
namespace EasyAbp.EShop.Payments.Refunds
{
public class RefundRepository : EfCoreRepository<PaymentsDbContext, Refund, Guid>, IRefundRepository
{
public RefundRepository(IDbContextProvider<PaymentsDbContext> dbContextProvider) : base(dbContextProvider)
{
}
}
}

61
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/Index.cshtml

@ -0,0 +1,61 @@
@page
@using Microsoft.AspNetCore.Authorization
@using EasyAbp.EShop.Payments.Authorization
@using EasyAbp.EShop.Payments.Web.Pages.EShop.Payments.Payments.Payment
@using Volo.Abp.AspNetCore.Mvc.UI.Layout
@inherits EasyAbp.EShop.Payments.Web.Pages.PaymentsPage
@model IndexModel
@inject IPageLayout PageLayout
@inject IAuthorizationService Authorization
@{
PageLayout.Content.Title = L["Payment"].Value;
PageLayout.Content.BreadCrumb.Add(L["Menu:Payment"].Value);
PageLayout.Content.MenuItemName = "Payment";
}
@section scripts
{
<abp-script src="/Pages/EShop/Payments/Payments/Payment/index.js" />
}
@section styles
{
<abp-style src="/Pages/EShop/Payments/Payments/Payment/index.css"/>
}
<abp-card>
<abp-card-header>
<abp-row>
<abp-column size-md="_6">
<abp-card-title>@L["Payment"]</abp-card-title>
</abp-column>
<abp-column size-md="_6" class="text-right">
@if (await Authorization.IsGrantedAsync(PaymentsPermissions.Payments.Create))
{
<abp-button id="NewPaymentButton"
text="@L["CreatePayment"].Value"
icon="plus"
button-type="Primary" />
}
</abp-column>
</abp-row>
</abp-card-header>
<abp-card-body>
<abp-table striped-rows="true" id="PaymentTable" class="nowrap">
<thead>
<tr>
<th>@L["Actions"]</th>
<th>@L["PaymentStoreId"]</th>
<th>@L["PaymentPaymentMethod"]</th>
<th>@L["PaymentExternalTradingCode"]</th>
<th>@L["PaymentCurrency"]</th>
<th>@L["PaymentOriginalPaymentAmount"]</th>
<th>@L["PaymentPaymentDiscount"]</th>
<th>@L["PaymentActualPaymentAmount"]</th>
<th>@L["PaymentRefundAmount"]</th>
<th>@L["PaymentCompletionTime"]</th>
<th>@L["PaymentCancelledTime"]</th>
</tr>
</thead>
</abp-table>
</abp-card-body>
</abp-card>

12
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/Index.cshtml.cs

@ -0,0 +1,12 @@
using System.Threading.Tasks;
namespace EasyAbp.EShop.Payments.Web.Pages.EShop.Payments.Payments.Payment
{
public class IndexModel : PaymentsPageModel
{
public async Task OnGetAsync()
{
await Task.CompletedTask;
}
}
}

0
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/index.css

41
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Payments/Payment/index.js

@ -0,0 +1,41 @@
$(function () {
var l = abp.localization.getResource('EasyAbpEShopPayments');
var service = easyAbp.eShop.payments.payments.payment;
var dataTable = $('#PaymentTable').DataTable(abp.libs.datatables.normalizeConfiguration({
processing: true,
serverSide: true,
paging: true,
searching: false,
autoWidth: false,
scrollCollapse: true,
order: [[1, "asc"]],
ajax: abp.libs.datatables.createAjax(service.getList),
columnDefs: [
{
rowAction: {
items:
[
{
text: l('PaymentItem'),
action: function (data) {
}
}
]
}
},
{ data: "storeId" },
{ data: "paymentMethod" },
{ data: "externalTradingCode" },
{ data: "currency" },
{ data: "originalPaymentAmount" },
{ data: "paymentDiscount" },
{ data: "actualPaymentAmount" },
{ data: "refundAmount" },
{ data: "completionTime" },
{ data: "cancelledTime" },
]
}));
});

60
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/Index.cshtml

@ -0,0 +1,60 @@
@page
@using Microsoft.AspNetCore.Authorization
@using EasyAbp.EShop.Payments.Authorization
@using EasyAbp.EShop.Payments.Web.Pages.EShop.Payments.Refunds.Refund
@using Volo.Abp.AspNetCore.Mvc.UI.Layout
@inherits EasyAbp.EShop.Payments.Web.Pages.PaymentsPage
@model IndexModel
@inject IPageLayout PageLayout
@inject IAuthorizationService Authorization
@{
PageLayout.Content.Title = L["Refund"].Value;
PageLayout.Content.BreadCrumb.Add(L["Menu:Refund"].Value);
PageLayout.Content.MenuItemName = "Refund";
}
@section scripts
{
<abp-script src="/Pages/EShop/Payments/Refunds/Refund/index.js" />
}
@section styles
{
<abp-style src="/Pages/EShop/Payments/Refunds/Refund/index.css"/>
}
<abp-card>
<abp-card-header>
<abp-row>
<abp-column size-md="_6">
<abp-card-title>@L["Refund"]</abp-card-title>
</abp-column>
<abp-column size-md="_6" class="text-right">
@if (await Authorization.IsGrantedAsync(PaymentsPermissions.Refunds.Create))
{
<abp-button id="NewRefundButton"
text="@L["CreateRefund"].Value"
icon="plus"
button-type="Primary" />
}
</abp-column>
</abp-row>
</abp-card-header>
<abp-card-body>
<abp-table striped-rows="true" id="RefundTable" class="nowrap">
<thead>
<tr>
<th>@L["Actions"]</th>
<th>@L["RefundStoreId"]</th>
<th>@L["RefundPaymentId"]</th>
<th>@L["RefundPaymentItemId"]</th>
<th>@L["RefundRefundPaymentMethod"]</th>
<th>@L["RefundExternalTradingCode"]</th>
<th>@L["RefundCurrency"]</th>
<th>@L["RefundRefundAmount"]</th>
<th>@L["RefundCustomerRemark"]</th>
<th>@L["RefundStaffRemark"]</th>
</tr>
</thead>
</abp-table>
</abp-card-body>
</abp-card>

12
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/Index.cshtml.cs

@ -0,0 +1,12 @@
using System.Threading.Tasks;
namespace EasyAbp.EShop.Payments.Web.Pages.EShop.Payments.Refunds.Refund
{
public class IndexModel : PaymentsPageModel
{
public async Task OnGetAsync()
{
await Task.CompletedTask;
}
}
}

0
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/index.css

55
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Pages/EShop/Payments/Refunds/Refund/index.js

@ -0,0 +1,55 @@
$(function () {
var l = abp.localization.getResource('EasyAbpEShopPayments');
var service = easyAbp.eShop.payments.refunds.refund;
var createModal = new abp.ModalManager(abp.appPath + 'EShop/Payments/Refunds/Refund/CreateModal');
var editModal = new abp.ModalManager(abp.appPath + 'EShop/Payments/Refunds/Refund/EditModal');
var dataTable = $('#RefundTable').DataTable(abp.libs.datatables.normalizeConfiguration({
processing: true,
serverSide: true,
paging: true,
searching: false,
autoWidth: false,
scrollCollapse: true,
order: [[1, "asc"]],
ajax: abp.libs.datatables.createAjax(service.getList),
columnDefs: [
{
rowAction: {
items:
[
{
text: l('Detail'),
action: function (data) {
}
},
]
}
},
{ data: "storeId" },
{ data: "paymentId" },
{ data: "paymentItemId" },
{ data: "refundPaymentMethod" },
{ data: "externalTradingCode" },
{ data: "currency" },
{ data: "refundAmount" },
{ data: "customerRemark" },
{ data: "staffRemark" },
]
}));
createModal.onResult(function () {
dataTable.ajax.reload();
});
editModal.onResult(function () {
dataTable.ajax.reload();
});
$('#NewRefundButton').click(function (e) {
e.preventDefault();
createModal.open();
});
});

21
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/PaymentsMenuContributor.cs

@ -1,4 +1,9 @@
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using EasyAbp.EShop.Payments.Localization;
using Microsoft.AspNetCore.Authorization;
using EasyAbp.EShop.Payments.Authorization;
using System.Threading.Tasks;
using EasyAbp.EShop.Payments.Authorization;
using Microsoft.Extensions.DependencyInjection;
@ -27,7 +32,21 @@ namespace EasyAbp.EShop.Payments.Web
private async Task ConfigureMainMenu(MenuConfigurationContext context)
{
var authorizationService = context.ServiceProvider.GetRequiredService<IAuthorizationService>();
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<PaymentsResource>>();
if (await authorizationService.IsGrantedAsync(PaymentsPermissions.Payments.Default))
{
context.Menu.AddItem(
new ApplicationMenuItem("Payments", l["Menu:Payments"], "/Payments/Payment")
);
}
if (await authorizationService.IsGrantedAsync(PaymentsPermissions.Refunds.Default))
{
context.Menu.AddItem(
new ApplicationMenuItem("Refunds", l["Menu:Refunds"], "/Refunds/Refund")
);
}
}
}
}

2
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/PaymentsWebAutoMapperProfile.cs

@ -1,3 +1,4 @@
using EasyAbp.EShop.Payments.Refunds.Dtos;
using AutoMapper;
namespace EasyAbp.EShop.Payments.Web
@ -9,6 +10,7 @@ namespace EasyAbp.EShop.Payments.Web
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
CreateMap<RefundDto, CreateUpdateRefundDto>();
}
}
}

26
modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Application.Tests/Payments/PaymentAppServiceTests.cs

@ -0,0 +1,26 @@
using Shouldly;
using System.Threading.Tasks;
using Xunit;
namespace EasyAbp.EShop.Payments.Payments
{
public class PaymentAppServiceTests : PaymentsApplicationTestBase
{
private readonly IPaymentAppService _paymentAppService;
public PaymentAppServiceTests()
{
_paymentAppService = GetRequiredService<IPaymentAppService>();
}
[Fact]
public async Task Test1()
{
// Arrange
// Act
// Assert
}
}
}

26
modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Application.Tests/Refunds/RefundAppServiceTests.cs

@ -0,0 +1,26 @@
using Shouldly;
using System.Threading.Tasks;
using Xunit;
namespace EasyAbp.EShop.Payments.Refunds
{
public class RefundAppServiceTests : PaymentsApplicationTestBase
{
private readonly IRefundAppService _refundAppService;
public RefundAppServiceTests()
{
_refundAppService = GetRequiredService<IRefundAppService>();
}
[Fact]
public async Task Test1()
{
// Arrange
// Act
// Assert
}
}
}

23
modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Domain.Tests/Payments/PaymentDomainTests.cs

@ -0,0 +1,23 @@
using System.Threading.Tasks;
using Shouldly;
using Xunit;
namespace EasyAbp.EShop.Payments.Payments
{
public class PaymentDomainTests : PaymentsDomainTestBase
{
public PaymentDomainTests()
{
}
[Fact]
public async Task Test1()
{
// Arrange
// Assert
// Assert
}
}
}

23
modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.Domain.Tests/Refunds/RefundDomainTests.cs

@ -0,0 +1,23 @@
using System.Threading.Tasks;
using Shouldly;
using Xunit;
namespace EasyAbp.EShop.Payments.Refunds
{
public class RefundDomainTests : PaymentsDomainTestBase
{
public RefundDomainTests()
{
}
[Fact]
public async Task Test1()
{
// Arrange
// Assert
// Assert
}
}
}

31
modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.EntityFrameworkCore.Tests/EntityFrameworkCore/Payments/PaymentRepositoryTests.cs

@ -0,0 +1,31 @@
using System;
using System.Threading.Tasks;
using EasyAbp.EShop.Payments.Payments;
using Volo.Abp.Domain.Repositories;
using Xunit;
namespace EasyAbp.EShop.Payments.EntityFrameworkCore.Payments
{
public class PaymentRepositoryTests : PaymentsEntityFrameworkCoreTestBase
{
private readonly IRepository<Payment, Guid> _paymentRepository;
public PaymentRepositoryTests()
{
_paymentRepository = GetRequiredService<IRepository<Payment, Guid>>();
}
[Fact]
public async Task Test1()
{
await WithUnitOfWorkAsync(async () =>
{
// Arrange
// Act
//Assert
});
}
}
}

31
modules/EasyAbp.EShop.Payments/test/EasyAbp.EShop.Payments.EntityFrameworkCore.Tests/EntityFrameworkCore/Refunds/RefundRepositoryTests.cs

@ -0,0 +1,31 @@
using System;
using System.Threading.Tasks;
using EasyAbp.EShop.Payments.Refunds;
using Volo.Abp.Domain.Repositories;
using Xunit;
namespace EasyAbp.EShop.Payments.EntityFrameworkCore.Refunds
{
public class RefundRepositoryTests : PaymentsEntityFrameworkCoreTestBase
{
private readonly IRepository<Refund, Guid> _refundRepository;
public RefundRepositoryTests()
{
_refundRepository = GetRequiredService<IRepository<Refund, Guid>>();
}
[Fact]
public async Task Test1()
{
await WithUnitOfWorkAsync(async () =>
{
// Arrange
// Act
//Assert
});
}
}
}
Loading…
Cancel
Save