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 GroupInfoProvider(IVkConnectionBuilder connectionBuilder) { this.connectionBuilder = connectionBuilder; }
public JoinVkGroupProcess(IVkConnectionBuilder vkConnectionBuilder, IVkGroupRepository groupRepository, ILog log) { this.log = log; this.vkConnectionBuilder = vkConnectionBuilder; this.groupRepository = groupRepository; }
public SavePlacesFromVkProcess(IVkConnectionBuilder vkConnectionBuilder, ILog log, IPlaceRepository placeRepository) { this.log = log; this.placeRepository = placeRepository; this.vkConnectionBuilder = vkConnectionBuilder; }