public AbstractClassData()
            : base(() =>
        {
            if (_abstractClasses != null)
            {
                return(_abstractClasses);
            }

            var assemblyPattern = new UniqueStringPattern(new List <string> {
                $"{Constants.ApplicationId}."
            }).Build();
            var assemblies = TypeExtensions.GetReferencingAssemblies(assemblyPattern);

            _abstractClasses = assemblies.GetClasses(type => type.IsAbstract && !type.IsSealed, true);

            return(_abstractClasses);
        })
        { }
        public BusinessCommonEntitiesClassData()
            : base(() =>
        {
            if (_entityClasses != null)
            {
                return(_entityClasses);
            }

            var assemblyPattern = new UniqueStringPattern(new List <string> {
                $"{Constants.ApplicationId}."
            }).Build();
            var assemblies = TypeExtensions.GetReferencingAssemblies(assemblyPattern);

            _entityClasses = assemblies.GetClasses(type => !string.IsNullOrWhiteSpace(type.Namespace) &&
                                                   type.Namespace.Contains(".Entities") &&
                                                   !type.Namespace.Contains(".Dto.") &&
                                                   !type.Namespace.Contains("Test") &&
                                                   !type.IsEnum);

            return(_entityClasses);
        })
        { }
예제 #3
0
        public InheritsFromEntityGuidBaseClassData()
            : base(() =>
        {
            if (_entityClasses != null)
            {
                return(_entityClasses);
            }

            var assemblyPattern = new UniqueStringPattern(new List <string> {
                $"{Constants.ApplicationId}."
            }).Build();
            var assemblies = TypeExtensions.GetReferencingAssemblies(assemblyPattern);

            _entityClasses = assemblies
                             .GetClasses(type => typeof(IEntityBase <Guid>).IsAssignableFrom(type) &&
                                         !string.IsNullOrWhiteSpace(type.Namespace) &&
                                         !type.Namespace.Contains(".Dto.") &&
                                         !type.Namespace.Contains("Test") &&
                                         !type.IsEnum);

            return(_entityClasses);
        })
        {
        }