AbstractMultiRepositoryService.cs 4.2 KB

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