Example #1
0
        private static IStatusGeneric ExecuteValidation(this DbContext context)
        {
            var status = new StatusGenericHandler();

            foreach (var entry in
                     context.ChangeTracker.Entries()
                     .Where(e =>
                            (e.State == EntityState.Added) ||
                            (e.State == EntityState.Modified)))
            {
                var entity = entry.Entity;
                status.Header = entity.GetType().GetNameForClass();
                var valProvider  = new ValidationDbContextServiceProvider(context);
                var valContext   = new ValidationContext(entity, valProvider, null);
                var entityErrors = new List <ValidationResult>();
                if (!Validator.TryValidateObject(
                        entity, valContext, entityErrors, true))
                {
                    status.AddValidationResults(entityErrors);
                }
            }

            return(status);
        }