コード例 #1
0
        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
            });
        }