private bool ImpressionistIsValid(UserId impressionistId)
        {
            var validationResults = new DomainEntityIdValidator <string>().Validate(impressionistId);

            if (!validationResults.IsValid)
            {
                this.AddFailedDomainEvent(new ImpressionistIdValidationFailedEvent <TAggregateId>(this.Id, validationResults));
                return(false);
            }

            return(true);
        }
        private bool PublisherIsValid(UserId publisherId)
        {
            var publisherIdValidationResults = new DomainEntityIdValidator <string>().Validate(publisherId);

            if (!publisherIdValidationResults.IsValid)
            {
                this.AddDomainEvent(new PublisherIdValidationFailedEvent(this.Id, publisherIdValidationResults), publisherId);
                return(false);
            }

            if (!this.IsNew() && this.PublisherId != publisherId)
            {
                this.AddDomainEvent(new SchemeAccessDeniedEvent(this.Id), publisherId);
                return(false);
            }

            return(true);
        }