public async Task Handle(UpdateFilmWatchedCommand command) { var validationResult = await _validator.ValidateAsync(command); if (!validationResult.IsValid) { await _eventService.RaiseEvent(new ValidationFailedEvent(validationResult)); return; } _unitOfWork.Execute(() => { _filmWriter.MarkFilmAsWatched(command.ItemId); }); await _eventService.RaiseEvent(new FilmUpdatedToWatchedEvent { FilmId = command.ItemId }); }