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); }
public IActionResult CreateExperimentWithMethods(ExperimentWithMethodsDTO experimentWithMethodsDTO) { long loggedInUserId = GetLoggedInUserIdMockUp(); if (loggedInUserId == -1) { return(Unauthorized()); } CreateExperiment createExperiment = new CreateExperiment(experimentWithMethodsDTO.Experiment.Creator, experimentWithMethodsDTO.Experiment.Name, loggedInUserId); List <CreateMethod> createMethods = new List <CreateMethod>(); foreach (var methodDTO in experimentWithMethodsDTO.Methods) { CreateMethod createMethod = new CreateMethod(methodDTO.Creator, methodDTO.Name, methodDTO.ApplicationRate, loggedInUserId); createMethods.Add(createMethod); } CreateMethods createMethodsCommand = new CreateMethods(createMethods, loggedInUserId); Guid sagaId = Guid.NewGuid(); StartCreatingExperimentWithMethods startCreatingExperimentWithMethods = new StartCreatingExperimentWithMethods(createExperiment, createMethodsCommand, loggedInUserId, sagaId); _kafkaProducer.Produce(startCreatingExperimentWithMethods, EXPERIMENTS_TOPIC); _logger.LogInformation("In Controller about to return"); return(Ok("Currently processing your request...")); }
public async Task <GoogleExperiment> CreateExperimentAsync(string profileId, string name, int?nodeId = null) { var command = new CreateExperiment(AnalyticsAccount.GetByUniqueId(profileId), name, nodeId == null, nodeId); return(await ExecuteAsync(command)); }
public IActionResult CreateExperiment([FromBody] ExperimentDTO experimentDTO) { long loggedInUserId = GetLoggedInUserIdMockUp(); if (loggedInUserId == -1) { return(Unauthorized()); } CreateExperiment createExperiment = new CreateExperiment(experimentDTO.Creator, experimentDTO.Name, loggedInUserId); _kafkaProducer.Produce(createExperiment, EXPERIMENT_TOPIC); return(Ok("Currently processing your request...")); }
public Result <Experiment> CreateExperiment(CreateExperiment createExperiment) { Experiment experiment = new Experiment(createExperiment.Creator, createExperiment.Name); ExperimentValidator experimentValidator = new ExperimentValidator(); var validationResult = experimentValidator.Validate(experiment); if (!validationResult.IsValid) { return(Result.Fail <Experiment>(string.Join(" ", validationResult.Errors))); } experiment.SetId(++lastIdValue); experimentsMemoryDatabase.Add(experiment); return(Result.Ok <Experiment>(experiment)); }