private void OnRecipeRemoved(RecipeRemoved @event) { var recipe = Recipes.FirstOrDefault(x => x.Id == @event.RecipeId); if (recipe != null) { Recipes.Remove(recipe); } }
public void Does_Map_Delete_Work_Correctly() { var entityId = Guid.Parse("6f9d8b35-481a-4bb4-ad69-44cf00e55717"); var dto = new DeleteRecipe(entityId); var userId = "7f7dfc41-3b52-4c43-aef9-b82099a7beb2"; var date = new DateTime(2020, 10, 10, 5, 2, 1); var expected = new RecipeRemoved { AuthorId = userId, Published = date, EntityId = entityId, }; var result = _mapper.Map(dto, date, userId); result.Should().BeEquivalentTo(expected); }
public async void ShouldDeleteRecipeCorrectly() { // "62CB0EE2-0CF7-4C72-9C51-80A90E8E420E" - sample recipe id to delete var command = new DeleteRecipe(new Guid("62CB0EE2-0CF7-4C72-9C51-80A90E8E420E")); var eventStore = new Mock <IEventStore <Recipe> >(); var handler = new DeleteRecipeHandler(eventStore.Object, MockBuilder.BuildFakeRecipeEventsMapper(), MockBuilder.BuildFakeCurrentUserService(), MockBuilder.BuildFakeDateTimeService()); await handler.Handle(command, CancellationToken.None); var expected = new RecipeRemoved { EntityId = new Guid("62CB0EE2-0CF7-4C72-9C51-80A90E8E420E"), Version = 0, Published = new DateTime(2010, 1, 1), AuthorId = "9E09950B-47DE-4BAB-AA79-C29414312ECB" }; eventStore.Verify(x => x.AddEvent(It.Is <RecipeRemoved>(y => y.WithDeepEqual(expected).Compare()))); }
internal void Handle(RecipeRemoved @event) => _periodOperations.Process(@event);
internal void Process(RecipeRemoved @event) => _allOperations.Remove(@event.OperationId.Value);
public Task Handle(RecipeRemoved @event, CancellationToken cancellationToken) { return(RemoveOperation(PeriodId.From(@event.AggregateId), @event.OperationId)); }