Пример #1
0
        private void CheckValidity(IPreDatabaseOperationEventArgs ev)
        {
            if (!(ev.Entity is IIsValidatable))
            {
                return;
            }
            var validatable = (IIsValidatable)ev.Entity;

            if (!validatable.IsValid(out var errors))
            {
                throw new NonValidException(validatable, errors);
            }
        }
Пример #2
0
        private static void InsertAudit(IPreDatabaseOperationEventArgs @event, AuditAction action)
        {
            var metadata = @event.Persister.ClassMetadata as SingleTableEntityPersister;

            if (metadata != null && metadata.TableName.EndsWith(AuditConstants.TABLE_SUFFIX,
                StringComparison.OrdinalIgnoreCase)) {
                return;
            }

            var auditable = @event.Entity as IAuditable;

            if (auditable == null) {
                return;
            }

            auditable.CreateAudit(action);
        }