Exemplo n.º 1
0
        public IEnumerable <ISupplierConnector> GetInstances(ConnectorsConfiguration configuration)
        {
            var path = !string.IsNullOrEmpty(configuration.PathConnectors)
                ? AppDomain.CurrentDomain.BaseDirectory + $"/{configuration.PathConnectors}"
                : AppDomain.CurrentDomain.BaseDirectory;

            var files      = Directory.EnumerateFiles($"{path}", "*.dll");
            var assemblies = files.Select(p => Assembly.LoadFrom(p));

            var getTypes = (from assembly in assemblies
                            from t in assembly.GetTypes()
                            select t)
                           .ToArray();

            var typeNames = getTypes
                            .Where(x => typeof(ISupplierConnector).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
                            .ToList();

            var instances = typeNames.Select(p => Activator
                                             .CreateInstance(p, GetParamsFromConfiguration(p, configuration))
                                             as ISupplierConnector)
                            .ToList();

            return(instances);
        }
Exemplo n.º 2
0
        private static object[] GetParamsFromConfiguration(Type s, ConnectorsConfiguration configuration)
        {
            var supplierConfiguration = configuration
                                        .Connectors
                                        .FirstOrDefault(supplier => s.Name.ToLower().Contains(supplier.ConnectorName.ToLower()));

            return(new object[] {
                supplierConfiguration
            });
        }
Exemplo n.º 3
0
        public void GetConnectorsConfiguration()
        {
            var restClient = CreateRestClient();

            ConnectorsConfiguration connectorsConfiguration = restClient.GetConnectorsConfiguration("TicketMan" /*Код организации*/, "flights" /*serviceType*/);

            Assert.NotNull(connectorsConfiguration);

            foreach (var variable in connectorsConfiguration.Variables)
            {
                Trace.WriteLine(String.Format("Variable '{0}' with value '{1}' was loaded.", variable.Name, variable.Value));
            }
        }
Exemplo n.º 4
0
        public JccHubPropertiesTest()
        {
            JccHubPropertiesMock             = new Mock <IJccHubPropertiesService>();
            SearchAvalibilityRqValidatorMock = new Mock <IValidator <SearchAvailabilityRq, ResponseValidator> >();

            SupplierConnectorManagerMock = new Mock <ISupplierConnectorManager>();
            SupplierConnectorManagerMock.As <ISupplierConnector>();
            logStorageMock = new Mock <ILogStorage <Log> >();

            ConnectorsConfiguration = new ConnectorsConfiguration();
            Fixture = (Fixture) new Fixture()
                      .Customize(new AutoMoqCustomization());
        }
Exemplo n.º 5
0
        public Task <IEnumerable <ISupplierConnector> > GetSupplierConnectors(
            ConnectorsConfiguration connectorsConfiguration)
        {
            if (!supplierConnectionsCache.IsCacheExpired)
            {
                return(supplierConnectionsCache.GetSupplierConnections());
            }

            var suppliers          = supplierConnectorLoader.GetInstances(connectorsConfiguration);
            var supplierConnectors = suppliers.ToArray();

            supplierConnectionsCache.AddSupplierConnectors(supplierConnectors, connectorsConfiguration.ExpirationTime);

            return(Task.FromResult(supplierConnectors.AsEnumerable()));
        }
Exemplo n.º 6
0
        public void DeleteConnectorsConfiguration()
        {
            var restClient = CreateRestClient();

            var connectorsConfiguration = new ConnectorsConfiguration
            {
                Variables = new List <ConnectorConfigurationVariable>()
            };

            connectorsConfiguration.Variables.Add(new ConnectorConfigurationVariable
            {
                Name             = "FlightHAP",
                ServiceType      = "flights",
                OrganizationCode = "sputnik",
                //SiteSlug = "TicketMan",
                Value = null                                           //Удалить переменную
            });

            restClient.SetConnectorsConfiguration(connectorsConfiguration);

            /*Если мы попали сюда, все прошло без эксепшена*/
            Trace.WriteLine("Все сохранено.");
        }