public async Task Run([EventGridTrigger] EventGridEvent eventGridEvent, ILogger log)
        {
            var applicationAddedEvent = JsonConvert.DeserializeObject <ApplicationChangedEvent>(eventGridEvent.Data.ToString());

            log.LogInformation($"{nameof(ApplicationChangedEvent)} with id: {applicationAddedEvent.Id}, indexing started");

            var applicationDto = _mapper.Map <ApplicationChangedEvent, ApplicationDto>(applicationAddedEvent);
            await _searchableApplicationIndexer.Index(applicationDto);

            log.LogInformation($"{nameof(ApplicationChangedEvent)} with id: {applicationAddedEvent.Id}, indexing finished");
        }
        public async Task Handle(CreateApplicationProcessStartedEvent createApplicationProcessStartedEvent)
        {
            _logger.LogProgress(OperationStatus.InProgress, "Indexing started", createApplicationProcessStartedEvent.CorrelationId);

            var applicationDto = _mapper.Map <CreateApplicationProcessStartedEvent, ApplicationDto>(createApplicationProcessStartedEvent);
            await _searchableApplicationIndexer.Index(applicationDto);

            var applicationCreatedEvent = new ApplicationCreatedEvent(createApplicationProcessStartedEvent);

            await _eventStore.AppendEvent(applicationCreatedEvent.Id, applicationCreatedEvent);

            await _eventPublisher.PublishEvent(applicationCreatedEvent);

            _logger.LogProgress(OperationStatus.Finished, string.Empty, createApplicationProcessStartedEvent.CorrelationId);
        }
Ejemplo n.º 3
0
        public async Task Handle(ApplicationCategoryNameChangedEvent applicationCategoryNameChangedEvent)
        {
            _logger.LogInformation($"{nameof(ApplicationCategoryNameChangedEvent)} with id: {applicationCategoryNameChangedEvent.Id}, processing started");
            var applicationGetResult = await _applicationSearchHandler.GetById(new GetApplicationByIdQuery(applicationCategoryNameChangedEvent.Id));

            if (!applicationGetResult.Success)
            {
                _logger.LogInformation($"{nameof(Events.ApplicationCategoryNameChangedEvent)}: application with id: {applicationCategoryNameChangedEvent.Id} cannot be found");
                return;
            }

            var application = applicationGetResult.Value;

            application.Category = applicationCategoryNameChangedEvent.NewCategoryName;
            await _searchableApplicationIndexer.Index(application);

            _logger.LogInformation($"{nameof(Events.ApplicationCategoryNameChangedEvent)} with id: {applicationCategoryNameChangedEvent.Id}, processing finished");
        }