in src/CustomerSite/Controllers/HomeController.cs [123:202]
public HomeController(
SaaSClientLogger<HomeController> logger,
IFulfillmentApiService apiService,
ISubscriptionsRepository subscriptionRepo,
IPlansRepository planRepository,
IUsersRepository userRepository,
IApplicationLogRepository applicationLogRepository,
ISubscriptionLogRepository subscriptionLogsRepo,
IApplicationConfigRepository applicationConfigRepository,
IEmailTemplateRepository emailTemplateRepository,
IOffersRepository offersRepository,
IPlanEventsMappingRepository planEventsMappingRepository,
IOfferAttributesRepository offerAttributesRepository,
IEventsRepository eventsRepository,
ILoggerFactory loggerFactory,
IEmailService emailService,
IWebNotificationService webNotificationService,
IAppVersionService appVersionService) : base(appVersionService)
{
this.apiService = apiService;
this.subscriptionRepository = subscriptionRepo;
this.subscriptionLogRepository = subscriptionLogsRepo;
this.applicationLogRepository = applicationLogRepository;
this.planRepository = planRepository;
this.userRepository = userRepository;
this.userService = new UserService(this.userRepository);
this.subscriptionService = new SubscriptionService(this.subscriptionRepository, this.planRepository);
this.applicationLogService = new ApplicationLogService(this.applicationLogRepository);
this.applicationConfigRepository = applicationConfigRepository;
this.applicationConfigService = new ApplicationConfigService(this.applicationConfigRepository);
this.emailTemplateRepository = emailTemplateRepository;
this.planEventsMappingRepository = planEventsMappingRepository;
this.offerAttributesRepository = offerAttributesRepository;
this.logger = logger;
this.offersRepository = offersRepository;
this.planService = new PlanService(this.planRepository, this.offerAttributesRepository, this.offersRepository);
this.eventsRepository = eventsRepository;
this.emailService = emailService;
this.loggerFactory = loggerFactory;
this._webNotificationService = webNotificationService;
this.pendingActivationStatusHandlers = new PendingActivationStatusHandler(
apiService,
subscriptionRepo,
subscriptionLogsRepo,
planRepository,
userRepository,
loggerFactory.CreateLogger<PendingActivationStatusHandler>());
this.pendingFulfillmentStatusHandlers = new PendingFulfillmentStatusHandler(
apiService,
applicationConfigRepository,
subscriptionRepo,
subscriptionLogsRepo,
planRepository,
userRepository,
this.loggerFactory.CreateLogger<PendingFulfillmentStatusHandler>());
this.notificationStatusHandlers = new NotificationStatusHandler(
apiService,
planRepository,
applicationConfigRepository,
emailTemplateRepository,
planEventsMappingRepository,
offerAttributesRepository,
eventsRepository,
subscriptionRepo,
userRepository,
offersRepository,
emailService,
this.loggerFactory.CreateLogger<NotificationStatusHandler>());
this.unsubscribeStatusHandlers = new UnsubscribeStatusHandler(
apiService,
subscriptionRepo,
subscriptionLogsRepo,
planRepository,
userRepository,
this.loggerFactory.CreateLogger<UnsubscribeStatusHandler>());
}