public GetFeedsFromVkProcess(IVkConnectionBuilder vkConnectionBuilder, IVkGroupRepository groupRepository, ILog log, IConfigurationProvider configProvider, IDateTimeHelper dateTimeHelper, IWebUtilities webUtilities) { this.log = log; this.configProvider = configProvider; this.dateTimeHelper = dateTimeHelper; this.webUtilities = webUtilities; this.vkConnectionBuilder = vkConnectionBuilder; this.groupRepository = groupRepository; IProcessingStrategy strategy = new ProcessingStrategy(configProvider, groupRepository, this.dateTimeHelper); this.feedProviders = new List <IFeedProvider> { new WallPostFeedProvider(this.log, this.dateTimeHelper, strategy), new WallPostCommentsFeedProvider(this.log, Factory.GetInstance <IPostRepository>(), this.dateTimeHelper, strategy), new PhotoFeedProvider(this.log, this.dateTimeHelper, strategy), new PhotoAlbumDetailsFeedProvider(Factory.GetInstance <IPhotoRepository>(), this.dateTimeHelper, this.log), new MembersFeedProvider(this.log, this.dateTimeHelper), new MembersCountFeedProvider(this.log, this.dateTimeHelper), new MemberLikesFeedProvider(this.log, this.dateTimeHelper, Factory.GetInstance <IListRepository>(), Factory.GetInstance <IVkResponseMapper>(), strategy), new MemberSharesFeedProvider(this.log, this.dateTimeHelper, Factory.GetInstance <IListRepository>(), Factory.GetInstance <IVkResponseMapper>(), strategy), new MemberSubscriptionFeedProvider(this.log, Factory.GetInstance <IListRepository>(), Factory.GetInstance <IVkResponseMapper>(), Factory.GetInstance <IVkDataLimits>(), this.dateTimeHelper), new VideoFeedProvider(this.log, this.dateTimeHelper, strategy), new VideoCommentFeedProvider(this.log, Factory.GetInstance <IVideoRepository>(), this.dateTimeHelper, strategy), new VideoLikesFeedProvider(this.log, Factory.GetInstance <IVideoRepository>(), Factory.GetInstance <IVkResponseMapper>(), this.dateTimeHelper, strategy), new AdminsFeedProvider(this.log, this.dateTimeHelper), new TopicFeedProvider(this.log, this.dateTimeHelper, strategy), new TopicCommentFeedProvider(this.log, Factory.GetInstance <ITopicRepository>(), this.dateTimeHelper, strategy) }.ToDictionary(x => x.SupportedFeedType); }
public VkDataFeedsParserProcess(IVkGroupRepository groupRepository, IUnitOfWorkProvider transactionProvider, IProcessorFactory processorFactory, IConfigurationProvider configProvider, IDateTimeHelper dateTimeHelper, IWebUtilities webUtilities, ILog log) { this.log = log; this.processorFactory = processorFactory; this.configProvider = configProvider; this.dateTimeHelper = dateTimeHelper; this.webUtilities = webUtilities; this.groupRepository = groupRepository; this.transactionProvider = transactionProvider; }