You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
5.0 KiB

1 year ago
  1. using Business.Authentication;
  2. using Business.AutoRefund;
  3. using Business.BalanceTransfer;
  4. using Business.Inbound;
  5. using Business.KFTCBusiness;
  6. using Business.Mobile;
  7. using Business.PennyTest;
  8. using Business.PowerCall;
  9. using Business.Remit;
  10. using Business.Resend;
  11. using Business.Reward;
  12. using Business.SendMoney;
  13. using Business.TrustDoc;
  14. using Business.MobileV2;
  15. using Business.Utility;
  16. using Repository.Authentication;
  17. using Repository.AutoRefund;
  18. using Repository.BalanceTransfer;
  19. using Repository.Coupon;
  20. using Repository.Inbound;
  21. using Repository.KFTCRepository;
  22. using Repository.KFTCSendMoneyRepository;
  23. using Repository.Mobile;
  24. using Repository.PennyTest;
  25. using Repository.PowerCallRepository;
  26. using Repository.Resend;
  27. using Repository.Reward;
  28. using Repository.SendMoney;
  29. using Repository.TrustDoc;
  30. using Repository.MobileV2;
  31. using Repository.Utility;
  32. using Unity;
  33. using Unity.Lifetime;
  34. namespace JsonRx.Resolver
  35. {
  36. /// <summary>
  37. /// Class to defind the DI
  38. /// </summary>
  39. public class IoCContainer
  40. {
  41. /// <summary>
  42. /// Registers all the dependencies
  43. /// </summary>
  44. /// <returns></returns>
  45. public static UnityContainer RegisterUnityContainer()
  46. {
  47. var container = new UnityContainer();
  48. container.RegisterType<IAuthenticationBusiness, AuthenticationBusiness>(new HierarchicalLifetimeManager());
  49. container.RegisterType<IAuthenticationRepo, AuthenticationRepo>(new HierarchicalLifetimeManager());
  50. container.RegisterType<IMobileServicesRepo, MobileServicesRepo>(new HierarchicalLifetimeManager());
  51. container.RegisterType<IMobileServices, MobileServices>(new HierarchicalLifetimeManager());
  52. container.RegisterType<ISendMoneyRepository, SendMoneyRepository>(new HierarchicalLifetimeManager());
  53. container.RegisterType<ISendMoneyBusiness, SendMoneyBusiness>(new HierarchicalLifetimeManager());
  54. container.RegisterType<IAutoRefundRepository, AutoRefundRepository>(new HierarchicalLifetimeManager());
  55. container.RegisterType<IAutoRefundBusiness, AutoRefundBusiness>(new HierarchicalLifetimeManager());
  56. container.RegisterType<IPennyTestRepository, PennyTestRepository>(new HierarchicalLifetimeManager());
  57. container.RegisterType<IPennyTestBusiness, PennyTestBusiness>(new HierarchicalLifetimeManager());
  58. container.RegisterType<IKftcProcessBusiness, KftcProcessBusiness>(new HierarchicalLifetimeManager());
  59. container.RegisterType<IKftcProcessRepository, KftcProcessRepository>(new HierarchicalLifetimeManager());
  60. // container.RegisterType<IKftcSendMoney, KftcSendMoney> (new HierarchicalLifetimeManager());
  61. container.RegisterType<IKftcSendMoneyRepository, KftcSendMoneyRepository>(new HierarchicalLifetimeManager());
  62. container.RegisterType<IResendBusiness, ResendBusiness>(new HierarchicalLifetimeManager());
  63. container.RegisterType<IResendRepository, ResendRepository>(new HierarchicalLifetimeManager());
  64. container.RegisterType<IRewardServices, RewardServices>(new HierarchicalLifetimeManager());
  65. container.RegisterType<IRewardRepository, RewardRepository>(new HierarchicalLifetimeManager());
  66. container.RegisterType<ICouponRepository, CouponRepository>(new HierarchicalLifetimeManager());
  67. container.RegisterType<IPowerCallBusiness, PowerCallBusiness>(new HierarchicalLifetimeManager());
  68. container.RegisterType<IPowerCallRepository, PowerCallRepository>(new HierarchicalLifetimeManager());
  69. container.RegisterType<IUtilityBusiness, UtilityBusiness>(new HierarchicalLifetimeManager());
  70. container.RegisterType<IUtilityRepository, UtilityRepository>(new HierarchicalLifetimeManager());
  71. container.RegisterType<IInboundBusiness, InboundBusiness>(new HierarchicalLifetimeManager());
  72. container.RegisterType<IInboundRepository, InboundRepository>(new HierarchicalLifetimeManager());
  73. container.RegisterType<IInboundPennyTestRepository, InboundPennyTestRepository>(new HierarchicalLifetimeManager());
  74. container.RegisterType<IInboundPennyTestBusiness, InboundPennyTestBusiness>(new HierarchicalLifetimeManager());
  75. container.RegisterType<IRemitBusiness, RemitBusiness>(new HierarchicalLifetimeManager());
  76. container.RegisterType<IBalanceTransferBusiness, BalanceTransferBusiness>(new HierarchicalLifetimeManager());
  77. container.RegisterType<IBalanceTransferRepository, BalanceTransferRepository>(new HierarchicalLifetimeManager());
  78. container.RegisterType<ITrustDocBusiness, TrustDocBusiness>(new HierarchicalLifetimeManager());
  79. container.RegisterType<ITrustDocRepository, TrustDocRepository>(new HierarchicalLifetimeManager());
  80. container.RegisterType<IMobileV2Business, MobileV2Business>(new HierarchicalLifetimeManager());
  81. container.RegisterType<IMobileV2Repo, MobileV2Repo>(new HierarchicalLifetimeManager());
  82. return container;
  83. }
  84. }
  85. }