private void HandleRemoveMethodsFromExperiment(RemoveMethodsFromExperiment removeMethodsFromExperiment) { Result removalResult = _repository.RemoveMethodsFromExperiment(removeMethodsFromExperiment); if (removalResult.IsFailure) { ExperimentRemovalFromMethodsFailed failedMethodsRemovalFromExperiment = new ExperimentRemovalFromMethodsFailed( removalResult.Error, removeMethodsFromExperiment.LoggedInUserId, removeMethodsFromExperiment.SagaId ); _kafkaProducer.Produce(failedMethodsRemovalFromExperiment, METHODS_TOPIC); return; } ExperimentRemovedFromMethods methodsRemovedFromExperiment = new ExperimentRemovedFromMethods( removeMethodsFromExperiment.ExperimentId, removeMethodsFromExperiment.MethodsIds.Select(mId => mId).ToList(), removeMethodsFromExperiment.LoggedInUserId, removeMethodsFromExperiment.SagaId ); _kafkaProducer.Produce(methodsRemovedFromExperiment, METHODS_TOPIC); }
public Result RemoveMethodsFromExperiment(RemoveMethodsFromExperiment removeMethodsFromExperiment) { //Will fail if the experiment does not exist long experimentId = removeMethodsFromExperiment.ExperimentId; List <long> methodsIds = removeMethodsFromExperiment.MethodsIds; Experiment experiment = experimentsMemoryDatabase.SingleOrDefault(e => e.Id == experimentId); if (experiment == null) { return(Result.Fail("The provided experiment does not exist")); } methodsIds.ForEach(mId => experiment.RemoveMethod(mId)); return(Result.Ok()); }
public Result RemoveMethodsFromExperiment(RemoveMethodsFromExperiment removeMethodsFromExperiment) { //Will fail if one of the provided methods does not exist long experimentId = removeMethodsFromExperiment.ExperimentId; List <long> methodsIds = removeMethodsFromExperiment.MethodsIds; List <long> allMethodsIds = methodsMemoryDatabase.Select(m => m.Id).ToList(); if (!methodsIds.All(m => allMethodsIds.Contains(m))) { return(Result.Fail("Some of the methods you provided do not exist")); } methodsMemoryDatabase.ForEach(m => { if (methodsIds.Contains(m.Id)) { m.RemoveExperimet(experimentId); } }); return(Result.Ok()); }