Example #1
0
        static void Main(string[] args)
        {
            Assembly[] ass = AssemblyDiscovery.Discovery();

            IServiceCollection sc = new ServiceCollection();

            sc.AddScanServices();

            var          hostingServiceProvider = sc.BuildServiceProvider();
            IServiceTest t = hostingServiceProvider.GetService <IServiceTest>();

            t.TestM();

            IEnumerable <AbstractTest> t1 = hostingServiceProvider.GetServices <AbstractTest>();

            foreach (var item in t1)
            {
                item.M();
            }

            IGenericTest <AbstractImpTest> t2 = hostingServiceProvider.GetService <IGenericTest <AbstractImpTest> >();



            Console.WriteLine("Hello World!");
        }
Example #2
0
        public GeneratorDesignerView()
        {
            InitializeComponent();

            _assemblyDiscovery = new AssemblyDiscovery();

            ButtonCreateGenerator.Click += ButtonCreateGenerator_Click;
            ButtonCheckGenerator.Click  += ButtonCheckGenerator_Click;
        }
Example #3
0
        public override List <dynamic> DetectEntityMapping()
        {
            var assemblyHelper = new AssemblyDiscovery("AhmadAghazadeh*.dll");
            var getTypes       = assemblyHelper.DiscoverTypes <IEntityMapping>("AhmadAghazadeh")
                                 .Select(Activator.CreateInstance)
                                 .Cast <dynamic>()
                                 .ToList();

            return(getTypes);
        }
Example #4
0
        protected List <dynamic> DetectEntityMapping()
        {
            var assemblyHelper = new AssemblyDiscovery("HR*.dll");
            var getType        = assemblyHelper.DiscoverTypes <IEntityMapping>("HR")
                                 .Select(Activator.CreateInstance)
                                 .Cast <dynamic>()
                                 .ToList();

            return(getType);
        }
Example #5
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            var assemblyDiscovery = new AssemblyDiscovery("HR*.dll");
            var registrars        = assemblyDiscovery.DiscoverInstance <IRegistrar>("HR").ToList();

            foreach (var registrar in registrars)
            {
                registrar.Register(services, assemblyDiscovery);;
            }
            services.AddDbContext <IDbContext, HRDbContext>(op =>
            {
                op.UseSqlServer("Data Source=localhost;Initial Catalog=HR;Integrated Security=True");
            });
            services.AddControllersWithViews();
        }
Example #6
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var assemblyHelper = new AssemblyDiscovery("AhmadAghazadeh*.dll");


            var builder = new ConfigurationBuilder()
                          .SetBasePath(AppContext.BaseDirectory)
                          .AddJsonFile("appsettings.json", true, true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true);
            var build            = builder.Build();
            var connectionString = build.GetConnectionString("DefaultConnection");

            Registrar(services, env, assemblyHelper);
            services.AddControllers();
            services.AddMvc();

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "Shop Service", Version = "v1"
                });
            });

            services.AddDbContext <IDbContext, ShopDbContext>((provider, options) =>
            {
                options.UseSqlServer(connectionString);
                options.EnableSensitiveDataLogging();
            });


            using (var serviceProvider = services.BuildServiceProvider())
            {
                var dbContext = serviceProvider.GetRequiredService <IDbContext>();
                if (env.IsDevelopment() == false)
                {
                    dbContext.Migrate();
                }
            }
        }
        private void RefreshUnits()
        {
            var  process        = new StatusProcess();
            bool discoverResult = false;
            var  discovery      = new AssemblyDiscovery();

            process.StartOperation(() =>
            {
                discoverResult = discovery.DiscoverAppliedAssemblies(ConfigId());
            });
            process.EndOperation();
            if (!discoverResult)
            {
                MessageBox.Show(string.Format("Не найдены прикладные сборки.\n\rКорректно укажите в App.config параметр AppliedAssemblies для указания местоположения прикладных сборок: \n\rТекущее значение параметра: {0}", AppDomain.CurrentDomain.BaseDirectory));
                return;
            }

            ComboBoxScenarioIdentifier.Properties.Items.Clear();
            ComboBoxScenarioIdentifier.Properties.Items.AddRange(
                ViewModelExtension.BuildScripts(discovery.SourceAssemblyList)
                .BuildImageComboBoxItems()
                .ToList());
        }
Example #8
0
        private static void Registrar(IServiceCollection services, IWebHostEnvironment env, AssemblyDiscovery assemblyHelper)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(AppContext.BaseDirectory)
                          .AddJsonFile("appsettings.json", true, true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true);
            var build            = builder.Build();
            var connectionString = build.GetConnectionString("DefaultConnection");

            var registrars = assemblyHelper.DiscoverInstances <IRegistrar>("AhmadAghazadeh");

            foreach (IRegistrar registrar in registrars)
            {
                registrar.Register(services, assemblyHelper);
            }

            services.AddDbContext <ShopContext>(op =>
            {
                op.UseSqlServer(connectionString);
                op.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
            });
        }