AbstractMultiRepositoryService.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using System;
  2. using Microsoft.Extensions.Logging;
  3. using Quadarax.Foundation.Core.Data.Interface.Domain;
  4. using Quadarax.Foundation.Core.Data.Interface.Repository;
  5. using Quadarax.Foundation.Core.Logging;
  6. namespace Quadarax.Foundation.Core.Business
  7. {
  8. public abstract class AbstractMultiRepositoryService<TRepository1,TRepository2> : AbstractService
  9. where TRepository1: IRepository
  10. where TRepository2: IRepository
  11. {
  12. protected TRepository1 Repository1 { get; }
  13. protected TRepository2 Repository2 { get; }
  14. protected AbstractMultiRepositoryService(TRepository1 repository1, TRepository2 repository2,IContext currentContext, IQLogger logger) : base(currentContext, logger)
  15. {
  16. Repository1 = repository1 ?? throw new ArgumentNullException(nameof(repository1));
  17. Repository2 = repository2 ?? throw new ArgumentNullException(nameof(repository2));
  18. }
  19. }
  20. public abstract class AbstractMultiRepositoryService<TRepository1,TRepository2, TRepository3> : AbstractService
  21. where TRepository1: IRepository
  22. where TRepository2: IRepository
  23. where TRepository3: IRepository
  24. {
  25. protected TRepository1 Repository1 { get; }
  26. protected TRepository2 Repository2 { get; }
  27. protected TRepository3 Repository3 { get; }
  28. protected AbstractMultiRepositoryService(TRepository1 repository1, TRepository2 repository2, TRepository3 repository3,IContext currentContext, IQLogger logger) : base(currentContext, logger)
  29. {
  30. Repository1 = repository1 ?? throw new ArgumentNullException(nameof(repository1));
  31. Repository2 = repository2 ?? throw new ArgumentNullException(nameof(repository2));
  32. Repository3 = repository3 ?? throw new ArgumentNullException(nameof(repository3));
  33. }
  34. }
  35. public abstract class AbstractMultiRepositoryService<TRepository1,TRepository2, TRepository3, TRepository4> : AbstractService
  36. where TRepository1: IRepository
  37. where TRepository2: IRepository
  38. where TRepository3: IRepository
  39. where TRepository4: IRepository
  40. {
  41. protected TRepository1 Repository1 { get; }
  42. protected TRepository2 Repository2 { get; }
  43. protected TRepository3 Repository3 { get; }
  44. protected TRepository4 Repository4 { get; }
  45. protected AbstractMultiRepositoryService(TRepository1 repository1, TRepository2 repository2, TRepository3 repository3,TRepository4 repository4, IContext currentContext, IQLogger logger) : base(currentContext, logger)
  46. {
  47. Repository1 = repository1 ?? throw new ArgumentNullException(nameof(repository1));
  48. Repository2 = repository2 ?? throw new ArgumentNullException(nameof(repository2));
  49. Repository3 = repository3 ?? throw new ArgumentNullException(nameof(repository3));
  50. Repository4 = repository4 ?? throw new ArgumentNullException(nameof(repository4));
  51. }
  52. }
  53. public abstract class AbstractMultiRepositoryService<TRepository1,TRepository2, TRepository3, TRepository4, TRepository5> : AbstractService
  54. where TRepository1: IRepository
  55. where TRepository2: IRepository
  56. where TRepository3: IRepository
  57. where TRepository4: IRepository
  58. where TRepository5: IRepository
  59. {
  60. protected TRepository1 Repository1 { get; }
  61. protected TRepository2 Repository2 { get; }
  62. protected TRepository3 Repository3 { get; }
  63. protected TRepository4 Repository4 { get; }
  64. protected TRepository5 Repository5 { get; }
  65. protected AbstractMultiRepositoryService(TRepository1 repository1, TRepository2 repository2, TRepository3 repository3,TRepository4 repository4,TRepository5 repository5,IContext currentContext, IQLogger logger) : base(currentContext, logger)
  66. {
  67. Repository1 = repository1 ?? throw new ArgumentNullException(nameof(repository1));
  68. Repository2 = repository2 ?? throw new ArgumentNullException(nameof(repository2));
  69. Repository3 = repository3 ?? throw new ArgumentNullException(nameof(repository3));
  70. Repository4 = repository4 ?? throw new ArgumentNullException(nameof(repository4));
  71. Repository5 = repository5 ?? throw new ArgumentNullException(nameof(repository5));
  72. }
  73. }
  74. }