/// <summary> /// Конструктор. /// </summary> /// <param name="mediator">Медиатр.</param> /// <param name="logger">Логгер.</param> /// <param name="buildSyncService"><see cref="IBuildSyncService"/>.</param> public BackgroundJobWithNotificationService( IMediator mediator, ILogger <BackgroundJobWithNotificationService> logger, IBuildSyncService buildSyncService) { this.mediator = mediator; this.logger = logger; this.buildSyncService = buildSyncService; }
/// <summary> /// Конструктор. /// </summary> /// <param name="aggregateRepository"><see cref="IAggregateRepository"/>.</param> /// <param name="logger">Логгер.</param> /// <param name="changeChecker"><see cref="IBuildStateChangeChecker"/>.</param> /// <param name="buildLifeCycleStateMapper"><see cref="IBuildLifeCycleStateMapper"/>.</param> /// <param name="buildSyncService"><see cref="IBuildSyncService"/>.</param> public ChangeBuildStateHandler( IAggregateRepository aggregateRepository, ILogger <ChangeBuildStateHandler> logger, IBuildStateChangeChecker changeChecker, IBuildLifeCycleStateMapper buildLifeCycleStateMapper, IBuildSyncService buildSyncService ) : base(aggregateRepository, logger) { this.changeChecker = changeChecker; this.buildLifeCycleStateMapper = buildLifeCycleStateMapper; this.buildSyncService = buildSyncService; }
/// <summary> /// Ищет сборки по биндингам. /// </summary> /// <param name="buildSyncService">Сервис синхронизации.</param> /// <param name="bindings">Биндинги.</param> /// <returns><placeholder>A <see cref="Task"/> representing the asynchronous operation.</placeholder></returns> public static async Task <IEnumerable <BuildDto> > ParseBuilds( this IBuildSyncService buildSyncService, IEnumerable <BuildsBinding> bindings) { List <Task <ParseBuildsResponse> > tasks = bindings .Select(b => buildSyncService.ParseBuilds(b.Path, b.SourceType, b.Pattern.Regexp)) .ToList(); ParseBuildsResponse[] messages = await Task.WhenAll(tasks); return(messages.SelectMany(s => s.Builds)); }
/// <summary> /// Конструктор. /// </summary> /// <param name="mapper">Маппер типов.</param> /// <param name="mediator"><see cref="IMediator"/>.</param> /// <param name="buildSyncService">Сервис BuildSync.</param> /// <param name="authorizedUserProvider">Провайдер для доступа к текущему пользователю.</param> /// <param name="buildMatchPatternReadOnlyRepository">a.</param> /// <param name="buildReadOnlyRepository">Репозиторий сборок.</param> /// <param name="distributionReadOnlyRepository">.</param> public BuildsController( IMapper mapper, IMediator mediator, IBuildSyncService buildSyncService, IAuthorizedUserProvider authorizedUserProvider, IReadOnlyRepository <BuildMatchPatternReadModel> buildMatchPatternReadOnlyRepository, IReadOnlyRepository <BuildReadModel> buildReadOnlyRepository, IReadOnlyRepository <DistributionReadModel> distributionReadOnlyRepository ) { this.mapper = mapper; this.mediator = mediator; this.buildSyncService = buildSyncService; this.authorizedUserProvider = authorizedUserProvider; this.buildMatchPatternReadOnlyRepository = buildMatchPatternReadOnlyRepository; this.buildReadOnlyRepository = buildReadOnlyRepository; this.distributionReadOnlyRepository = distributionReadOnlyRepository; }