コード例 #1
0
        private void HandleCreateExperiment(CreateExperiment createExperiment)
        {
            Result <Experiment> experimentCreationResult = _repository.CreateExperiment(createExperiment);

            if (experimentCreationResult.IsFailure)
            {
                ExperimentCreationFailed failedExperiment =
                    new ExperimentCreationFailed(
                        experimentCreationResult.Error,
                        createExperiment.LoggedInUserId,
                        createExperiment.SagaId
                        );
                _kafkaProducer.Produce(failedExperiment, EXPERIMENT_TOPIC);
                return;
            }

            ExperimentCreated createdExperiment = new ExperimentCreated(
                experimentCreationResult.Value.Id,
                experimentCreationResult.Value.Creator,
                experimentCreationResult.Value.Name,
                experimentCreationResult.Value.CreationDate,
                createExperiment.LoggedInUserId,
                createExperiment.SagaId
                );

            _kafkaProducer.Produce(createdExperiment, EXPERIMENT_TOPIC);
        }
コード例 #2
0
        private async void HandleExperimentCreated(ExperimentCreated c)
        {
            if (c.SagaId != default)
            {
                return;
            }

            var createdExperiment = new { id = c.Id, creator = c.Creator, name = c.Name, creationDate = c.CreationDate };
            await _hubContext.Clients.Groups(c.LoggedInUserId.ToString()).SendAsync("ReceiveExperimentCreatedMessage", createdExperiment);
        }