Exemplo n.º 1
0
        private void Paste()
        {
            IDataObject dataObject = Clipboard.GetDataObject();

            if (dataObject != null)
            {
                DataObjectPastingEventArgs pastingEventArgs = new DataObjectPastingEventArgs(dataObject, false, typeof(ProviderElement).FullName);
                this.RaiseEvent(pastingEventArgs);

                if (pastingEventArgs.CommandCancelled)
                {
                    return;
                }

                ProviderElement provider = dataObject.GetData(typeof(ProviderElement)) as ProviderElement;
                if (provider != null)
                {
                    Providers myData = this.DataContext as Providers;
                    if (myData != null)
                    {
                        myData.Provider.Add(provider);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public RouterProvider(Configuration.AclConfigurationSection configSection, NameValueCollection parameters)
            : this()
        {
            string providerNames = parameters["providers"];

            if (providerNames != null)
            {
                foreach (string providerName in providerNames.Split(','))
                {
                    string realProviderName = providerName;

                    ProviderElement provider = null;
                    while (provider == null)
                    {
                        provider = configSection.Providers[realProviderName];
                        if (provider == null)
                        {
                            realProviderName = providerName.Substring(0, providerName.LastIndexOf('/'));
                            if (realProviderName == AclManager.ROOT)
                            {
                                throw new NotSupportedException(string.Format("The provider with name '{0}' could not be found. Make sure it is registered in your configuration file", providerName));
                            }
                        }
                    }
                    if (realProviderName == providerName && !providerName.Contains("/"))
                    {
                        Register("/", provider.Provider);
                    }
                    else
                    {
                        Register(providerName.Substring(realProviderName.Length), provider.Provider);
                    }
                }
            }
        }
        private Type GetProviderType(ProviderConfigSection configSection, ProviderElement providerElement)
        {
            var  errorMessage = "The Type defined for Provider '{0}' is not valid.";
            Type providerType;

            var providerElementType = GetObjectType(configSection, providerElement.Type);

            if (!string.IsNullOrEmpty(providerElementType))
            {
                providerType = Type.GetType(providerElementType);
                if (providerType == null)
                {
                    throw new ConfigurationErrorsException(
                              string.Format(errorMessage, providerElement.Name));
                }
            }
            else
            {
                providerType = Type.GetType(providerElement.Type);
                if (providerType == null)
                {
                    throw new ConfigurationErrorsException(
                              string.Format(errorMessage, providerElement.Name));
                }
            }
            return(providerType);
        }
        public static T NewUp <T>(string providerFeature, string providerName) where T : class
        {
            ProviderFeatureElement feature = GetProviderFeatureElement(providerFeature);

            ProviderElement provider = feature.GetByName(providerName);

            if (provider == null)
            {
                throw new ConfigurationErrorsException(
                          string.Format("Pipeline framework provider feature '{0}' has default provider '{1}' defined and there is provider listed with that name.",
                                        feature.DefaultProvider));
            }

            object obj = Activator.CreateInstance(Type.GetType(provider.Type));
            T      providerInstance = obj as T;

            if (providerInstance == null)
            {
                throw new PipelineCastingException(
                          string.Format("Provider named '{0}' in provider feature '{1}' in the pipeline framework section does not case to the request type ({2}).",
                                        providerName, providerFeature, typeof(T).ToString()));
            }

            return(providerInstance);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GeocodeProviderSettings"/> class.
        /// </summary>
        /// <param name="providerType">
        /// The type of the provider - used to retrieve the attribute information
        /// </param>
        /// <exception cref="ArgumentException">
        /// Throws an exception if alias is not provided
        /// </exception>
        public GeocodeProviderSettings(Type providerType)
        {
            var att = providerType.GetCustomAttribute<GeocodeProviderAttribute>(true);

            if (att == null) throw new ArgumentException("The type provided did not have a valid GeocodeProviderAttribute");

            _configuration = Section.Providers[att.Alias];
        }
Exemplo n.º 6
0
        private void TestEnvironment_InvalidateGuidStringCase(MigrationTestEnvironment env, Configuration config)
        {
            Debug.Assert(config.Providers.Provider.Count > 0, "No provider is present in the configuration.");
            ProviderElement p = config.Providers.Provider.First();

            Debug.Assert(p.ReferenceName.Length > 0, "First provider has empty reference name.");

            p.ReferenceName = ChangeCase(p.ReferenceName);
        }
Exemplo n.º 7
0
        /// <summary>
        /// setConfigure
        /// </summary>
        private void setConfigure(string user, string password, string mediatype)
        {
            if (socialAuthManager == null)
            {
                socialAuthManager = getManager();
            }
            SocialAuthConfiguration config = socialAuthManager.GetConfiguration();

            if (config != null)
            {
                switch (mediatype)
                {
                case "TWITTER":
                    ProviderElement tpe = new ProviderElement();
                    tpe.ConsumerKey    = user;
                    tpe.ConsumerSecret = password;
                    tpe.WrapperName    = "TwitterWrapper";
                    config.Providers.Add(tpe);
                    break;

                case "GOOGLE":
                    ProviderElement gpe = new ProviderElement();
                    gpe.ConsumerKey      = user;
                    gpe.ConsumerSecret   = password;
                    gpe.WrapperName      = "GoogleWrapper";
                    gpe.AdditionalScopes = "https://picasaweb.google.com/data/";
                    config.Providers.Add(gpe);
                    break;

                case "MSN":
                    ProviderElement mpe = new ProviderElement();
                    mpe.ConsumerKey    = user;
                    mpe.ConsumerSecret = password;
                    mpe.WrapperName    = "MSNWrapper";
                    config.Providers.Add(mpe);
                    break;

                case "YAHOO":
                    ProviderElement ype = new ProviderElement();
                    ype.ConsumerKey    = user;
                    ype.ConsumerSecret = password;
                    ype.WrapperName    = "YahooWrapper";
                    config.Providers.Add(ype);
                    break;

                case "LINKEDIN":
                    ProviderElement lpe = new ProviderElement();
                    lpe.ConsumerKey    = user;
                    lpe.ConsumerSecret = password;
                    lpe.WrapperName    = "LinkedInWrapper";
                    config.Providers.Add(lpe);
                    break;
                }
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Deserializes the specified node in a <see cref="IDbProvider"/>.
        /// </summary>
        /// <param name="config">The IConfiguration node.</param>
        /// <returns>The <see cref="IDbProvider"/></returns>
        public static IDbProvider Deserialize(ProviderElement config)
        {
            var provider = new DbProvider()
            {
                ParameterPrefix = config.ParameterPrefix,
                ProviderName    = config.ProviderName,
                SelectKey       = config.SelectKey
            };

            return(provider);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GeocodeProviderSettings"/> class.
        /// </summary>
        /// <param name="providerType">
        /// The type of the provider - used to retrieve the attribute information
        /// </param>
        /// <exception cref="ArgumentException">
        /// Throws an exception if alias is not provided
        /// </exception>
        public GeocodeProviderSettings(Type providerType)
        {
            var att = providerType.GetCustomAttribute <GeocodeProviderAttribute>(true);

            if (att == null)
            {
                throw new ArgumentException("The type provided did not have a valid GeocodeProviderAttribute");
            }

            _configuration = Section.Providers[att.Alias];
        }
Exemplo n.º 10
0
        private AESCryptographer([NotNull] ProviderElement provider, IEnumerable <Key> keys = null)
        {
            _provider = provider;

            if (keys == null)
            {
                return;
            }

            _aesEncryptionKeys.AddRange(keys);
            // ReSharper disable PossibleNullReferenceException
            _aesEncryptionKeys.Sort((a, b) => b.Expiry.CompareTo(a.Expiry));
            // ReSharper restore PossibleNullReferenceException
        }
Exemplo n.º 11
0
        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            SerializableSource serializableSource = (sender as FrameworkElement).DataContext as SerializableSource;
            ProviderHandler    providerView       = (e.OriginalSource as FrameworkElement).DataContext as ProviderHandler;

            if (serializableSource != null && providerView != null)
            {
                if (m_configuration.Providers.Count(x => providerView.ProviderId.Equals(new Guid(x.ReferenceName))) == 0)
                {
                    ProviderElement provider = new ProviderElement();
                    provider.FriendlyName  = providerView.ProviderName;
                    provider.ReferenceName = providerView.ProviderId.ToString();
                    m_configuration.Providers.Add(provider);
                }

                MigrationSource migrationSource  = serializableSource.Model;
                string          cachedProviderId = migrationSource.ProviderReferenceName;

                IMigrationSourceView serverView = m_configuration.ExtensibilityViewModel.GetMigrationSourceView(providerView.ProviderDescriptionAttribute.ShellAdapterIdentifier);
                serverView.Command(migrationSource);

                if (migrationSource.ProviderReferenceName == null) // user cancelled
                {
                    migrationSource.ProviderReferenceName = cachedProviderId;
                }
                else
                {
                    migrationSource.ProviderReferenceName = providerView.ProviderId.ToString();
                }

                serializableSource.Refresh();

                var session = m_configuration.SerializableSessions.FirstOrDefault(x => x.LeftMigrationSource.Model == migrationSource || x.RightMigrationSource.Model == migrationSource);
                if (session != null)
                {
                    foreach (FilterPair filterPair in session.Model.Filters.FilterPair)
                    {
                        foreach (FilterItem filterItem in filterPair.FilterItem)
                        {
                            if (string.Equals(filterItem.MigrationSourceUniqueId, migrationSource.InternalUniqueId, StringComparison.OrdinalIgnoreCase))
                            {
                                filterItem.FilterString = filterItem.FilterString.Replace("<SourceIdentifier>", migrationSource.SourceIdentifier);
                            }
                        }
                    }
                }
                UpdateActiveProviders();
            }
        }
Exemplo n.º 12
0
            public void Should_get_enabled_providers_when_types_section_not_defined()
            {
                string configSectionName = "commonProvider";
                var    configSection     = new ProviderConfigSection();

                configSection.Settings.Add(new ProviderSettingElement()
                {
                    Key   = "GlobalTestSetting",
                    Value = "GlobalTestValue"
                });

                var providerSettingElement =
                    new ProviderSettingElement()
                {
                    Key   = "TestSetting",
                    Value = "TestValue"
                };

                var fooProvider = new ProviderElement()
                {
                    Name      = "Foo",
                    Group     = "FooGroup",
                    IsEnabled = true,
                    Type      = "CommonProvider.Tests.TestClasses.FooProvider,CommonProvider.Tests",
                };

                fooProvider.Settings.Add(providerSettingElement);
                configSection.Providers.Add(fooProvider);

                var barProvider = new ProviderElement()
                {
                    Name      = "Bar",
                    Group     = "BarGroup",
                    IsEnabled = true,
                    Type      = "CommonProvider.Tests.TestClasses.BarProvider,CommonProvider.Tests",
                };

                barProvider.Settings.Add(providerSettingElement);
                configSection.Providers.Add(barProvider);

                var xmlProviderConfigSource = new XmlProviderConfigSource(configSection);
                var providerConfig          = xmlProviderConfigSource.GetProviderConfiguration();

                Assert.That(providerConfig.ProviderDescriptors, Is.Not.Null);
                Assert.That(providerConfig.ProviderDescriptors.Count(), Is.EqualTo(2));
                Assert.That(providerConfig.Settings.Count, Is.EqualTo(1));
                Assert.That(providerConfig.ProviderDescriptors.Sum(x => x.ProviderSettings.Count), Is.EqualTo(2));
            }
Exemplo n.º 13
0
        // TODO: This whole thing becomes add a session, not add a provider
        private void AddProvider(ProviderElement provider)
        {
            Providers myData = this.DataContext as Providers;

            if (myData != null)
            {
                if (provider == null)
                {
                    provider = new ProviderElement();
                    provider.FriendlyName  = "TFS 2005 Migration Provider";
                    provider.ReferenceName = "GUID";
                }

                myData.Provider.Add(provider);
            }
        }
 public bool TryGetProvider(string name, out ProviderElement element, out string error)
 {
     //use Configuration namespace to get our config
     object[] allKeys = base.BaseGetAllKeys();
     if (Array.IndexOf(allKeys, name.ToLower())<0)
     {
         string[] allKeyStrings = allKeys.OfType<string>().ToArray();
         
         element = null;
         error = allKeys.Length == 0 
             ? "There are no <provider> entries in your app.config"
             : "Key " + name + " not found among " + allKeys.Length + " config entries {" + string.Join(",",allKeyStrings) + "}";
         return false;
     }
     element = (ProviderElement)BaseGet(name.ToLower());
     error = null;
     return true;
 }
Exemplo n.º 15
0
            public bool TryGetProvider(string name, out ProviderElement element, out string error)
            {
                //use Configuration namespace to get our config
                object[] allKeys = base.BaseGetAllKeys();
                if (Array.IndexOf(allKeys, name.ToLower()) < 0)
                {
                    string[] allKeyStrings = allKeys.OfType <string>().ToArray();

                    element = null;
                    error   = allKeys.Length == 0
                        ? "There are no <provider> entries in your app.config"
                        : "Key " + name + " not found among " + allKeys.Length + " config entries {" + string.Join(",", allKeyStrings) + "}";
                    return(false);
                }
                element = (ProviderElement)BaseGet(name.ToLower());
                error   = null;
                return(true);
            }
Exemplo n.º 16
0
            public bool TryGetProvider(string name, out ProviderElement element, out string error)
            {
                //use Configuration namespace to get our config
                object[] allKeys = base.BaseGetAllKeys();
                if (Array.IndexOf(allKeys, name.ToLower()) < 0)
                {
                    string[] allKeyStrings = allKeys.OfType <string>().ToArray();

                    element = null;
                    string configFile = Path.GetFileName(typeof(Program).Assembly.Location) + ".config";
                    error = allKeys.Length == 0
                        ? string.Format("There are no <provider/> entries in your {0} file.", configFile)
                        : GetProvidersDescription(name, allKeyStrings.Length, configFile);
                    return(false);
                }
                element = (ProviderElement)BaseGet(name.ToLower());
                error   = null;
                return(true);
            }
Exemplo n.º 17
0
        private void UpdateActiveProviders()
        {
            ICollection <ProviderElement> providers = m_configuration.Providers;

            bool providersSynced = m_configuration.MigrationSources.Select(x => x.ProviderReferenceName).Where(x => x != null).Distinct().SequenceEqual(providers.Select(x => x.ReferenceName));

            if (!providersSynced)
            {
                providers.Clear();

                foreach (var source in m_configuration.MigrationSources)
                {
                    if (source.ProviderReferenceName != null)
                    {
                        ProviderHandler providerView = m_configuration.AllProviders.FirstOrDefault(x => x.ProviderId.Equals(new Guid(source.ProviderReferenceName)));
                        if (providerView != null && providers.Count(x => providerView.ProviderId.Equals(new Guid(x.ReferenceName))) == 0)
                        {
                            ProviderElement provider = new ProviderElement();
                            provider.FriendlyName  = providerView.ProviderName;
                            provider.ReferenceName = providerView.ProviderId.ToString();
                            providers.Add(provider);
                        }
                    }
                }
            }

            m_configuration.Validate();

            foreach (var session in m_configuration.SerializableSessions)
            {
                if (session.DefaultFilterPair != null)
                {
                    session.DefaultFilterPair.UpdateFilterStringExtensions();
                }
                foreach (var filter in session.FilterPairs)
                {
                    filter.UpdateFilterStringExtensions();
                }
            }

            m_configuration.RefreshFilterStrings();
        }
Exemplo n.º 18
0
        /// <summary>
        /// getManager
        /// </summary>
        private void getManager()
        {
            SocialAuthConfiguration config = new SocialAuthConfiguration();

            ProviderElement tpe = new ProviderElement();

            tpe.ConsumerKey    = "oJs923I3JS4ztSaRpXj5Vg";
            tpe.ConsumerSecret = "h2bG02PmE52BEOlIINdy8M5WKLkDKWBxB0zCH220eQ";
            tpe.WrapperName    = "TwitterWrapper";
            config.Providers.Add(tpe);

            ProviderElement gpe = new ProviderElement();

            gpe.ConsumerKey      = "859090616008.apps.googleusercontent.com";
            gpe.ConsumerSecret   = "kx-Iwp-TOXzc26wKpTff7dav";
            gpe.WrapperName      = "GoogleWrapper";
            gpe.AdditionalScopes = "https://picasaweb.google.com/data/";
            config.Providers.Add(gpe);

            ProviderElement mpe = new ProviderElement();

            mpe.ConsumerKey    = "000000004C108B16";
            mpe.ConsumerSecret = "kdJasG9HD8nj9OLyoJXxV81zg4S4TU3m";
            mpe.WrapperName    = "MSNWrapper";
            config.Providers.Add(mpe);

            //ProviderElement ype = new ProviderElement();
            //ype.ConsumerKey = "000000004C108B16";
            //ype.ConsumerSecret = "kdJasG9HD8nj9OLyoJXxV81zg4S4TU3m";
            //ype.WrapperName = "YahooWrapper";
            //config.Providers.Add(ype);

            ProviderElement lpe = new ProviderElement();

            lpe.ConsumerKey    = "753j58ks4sphrx";
            lpe.ConsumerSecret = "eQwl5uaT99WcDLw2";
            lpe.WrapperName    = "LinkedInWrapper";
            config.Providers.Add(lpe);

            manager = new SocialAuthManager(config);
        }
Exemplo n.º 19
0
        private void providerButton_Click(object sender, RoutedEventArgs e)
        {
            MigrationProviderView providerView = providerListBox.SelectedItem as MigrationProviderView;

            Microsoft.TeamFoundation.Migration.Shell.Tfs.Shell shell = this.DataContext as Microsoft.TeamFoundation.Migration.Shell.Tfs.Shell;

            if (providerView != null && shell != null)
            {
                // TODO: This hack disables the button unless a doc is open
                if (shell.ViewModel.DataModel != null)
                {
                    ICollection <ProviderElement> providers = shell.ViewModel.DataModel.Configuration.Providers.Provider;
                    ProviderElement provider = providers.FirstOrDefault(x => string.Equals(x.ReferenceName, providerView.ProviderId, StringComparison.OrdinalIgnoreCase));

                    if (provider == null)
                    {
                        provider = new ProviderElement();
                        provider.FriendlyName  = providerView.Name;
                        provider.ReferenceName = providerView.ProviderId;
                        providers.Add(provider);

                        shell.ViewModel.DataModel.Configuration.SessionGroup.Linking.CreationTime = DateTime.Now;
                    }

                    // TODO: Hack, look it up by provider id
                    //MigrationSourceCommand command = shell.ViewModel.ExtensibileViewModel.MigrationServerViews[0].Command.Target as MigrationSourceCommand;
                    //bool b = shell.ViewModel.ExtensibileViewModel.MigrationServerViews[0].Command.Target is MigrationSourceCommand;
                    //MigrationSourceView serverView = shell.ViewModel.ExtensibileViewModel.MigrationServerViews.FirstOrDefault(x => string.Equals((x.Command.Target as MigrationSourceCommand).ProviderReferenceName, provider.ReferenceName));
                    MigrationSourceView serverView      = shell.ViewModel.ExtensibileViewModel.MigrationServerViews[0];
                    MigrationSource     migrationSource = new MigrationSource();

                    serverView.Command(migrationSource);

                    if (migrationSource.InternalUniqueId != null)
                    {
                        shell.ViewModel.DataModel.Configuration.SessionGroup.MigrationSources.MigrationSource.Add(migrationSource);
                    }
                }
            }
        }
Exemplo n.º 20
0
        internal InboundInterfaceElement GetInboundRequestElement()
        {
            var inboundRequest = new InboundInterfaceElement();

            // Initialize User
            inboundRequest.user = ToaUserUtil.GetInboundUser();
            
            //Initialize Head
            var head = new HeadElement();
            head.allow_change_date = ToaStringsUtil.GetString(_allowChangeDate);
            head.date = _uploadDate;
            head.default_appointment_pool = _defaultAppointmentPool;
            head.id = _transactionId;
            head.processing_mode = ToaStringsUtil.GetString(_processingMode);
            head.properties_mode = ToaStringsUtil.GetString(_propertiesMode);
            head.upload_type = ToaStringsUtil.GetString(_uploadType);
            head.provider_group = _providerGroup;
            if(null != _activitySettings)
                head.appointment = _activitySettings.GetActivitySettings();
            if(null != _inventorySettings)
                head.inventory = _inventorySettings.GetInventorySettings();
            inboundRequest.head = head;

            //initialize Data
            var data = new DataElement();
            var noOfModels = _dataModels.Count;
            CommandElement [] commands = null;
            ProviderElement [] providers = null;
            if (UploadType == UploadType.Full) // Full Upload
            {
                providers = new ProviderElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var activityModel = ((WorkOrderModel) model);
                        var providerElement = new ProviderElement();
                        providerElement.appointment = activityModel.GetActivityElement();
                        providers[--noOfModels] = providerElement;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object 
                    }
                }
                data.providers = providers;
            }
            else // Incremental Upload
            {
                commands = new CommandElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var workOrderModel = ((WorkOrderModel)model);
                        var command = new CommandElement();
                        command.appointment = workOrderModel.GetActivityElement();
                        command.date = workOrderModel.AssignedDate;
                        command.external_id = workOrderModel.ExternalId;
                        command.type = ToaStringsUtil.GetString(workOrderModel.CommandType);
                        commands[--noOfModels] = command;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object
                    }
                }
                data.commands = commands;
            }
            
            

            inboundRequest.data = data;

            return inboundRequest;
        }
Exemplo n.º 21
0
        internal InboundInterfaceElement GetInboundRequestElement()
        {
            var inboundRequest = new InboundInterfaceElement();

            // Initialize User
            inboundRequest.user = ToaUserUtil.GetInboundUser();

            //Initialize Head
            var head = new HeadElement();

            head.allow_change_date = ToaStringsUtil.GetString(_allowChangeDate);
            head.date = _uploadDate;
            head.default_appointment_pool = _defaultAppointmentPool;
            head.id = _transactionId;
            head.processing_mode = ToaStringsUtil.GetString(_processingMode);
            head.properties_mode = ToaStringsUtil.GetString(_propertiesMode);
            head.upload_type     = ToaStringsUtil.GetString(_uploadType);
            head.provider_group  = _providerGroup;
            if (null != _activitySettings)
            {
                head.appointment = _activitySettings.GetActivitySettings();
            }
            if (null != _inventorySettings)
            {
                head.inventory = _inventorySettings.GetInventorySettings();
            }
            inboundRequest.head = head;

            //initialize Data
            var data       = new DataElement();
            var noOfModels = _dataModels.Count;

            CommandElement []  commands  = null;
            ProviderElement [] providers = null;
            if (UploadType == UploadType.Full) // Full Upload
            {
                providers = new ProviderElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var activityModel   = ((WorkOrderModel)model);
                        var providerElement = new ProviderElement();
                        providerElement.appointment = activityModel.GetActivityElement();
                        providers[--noOfModels]     = providerElement;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object
                    }
                }
                data.providers = providers;
            }
            else // Incremental Upload
            {
                commands = new CommandElement[noOfModels];
                foreach (var model in _dataModels)
                {
                    if (model is WorkOrderModel)
                    {
                        var workOrderModel = ((WorkOrderModel)model);
                        var command        = new CommandElement();
                        command.appointment    = workOrderModel.GetActivityElement();
                        command.date           = workOrderModel.AssignedDate;
                        command.external_id    = workOrderModel.ExternalId;
                        command.type           = ToaStringsUtil.GetString(workOrderModel.CommandType);
                        commands[--noOfModels] = command;
                    }
                    else if (model is InventoryModel)
                    {
                        //TODO: Need to initialize inventory object
                    }
                }
                data.commands = commands;
            }



            inboundRequest.data = data;

            return(inboundRequest);
        }
Exemplo n.º 22
0
 public bool TryGetProvider(string name, out ProviderElement element, out string error)
 {
     //use Configuration namespace to get our config
     object[] allKeys = base.BaseGetAllKeys();
     if (Array.IndexOf(allKeys, name.ToLower())<0)
     {
         string[] allKeyStrings = allKeys.OfType<string>().ToArray();
         
         element = null;
         string configFile = Path.GetFileName(typeof(Program).Assembly.Location)+ ".config";
         error = allKeys.Length == 0
             ? string.Format("There are no <provider/> entries in your {0} file.", configFile)
             : GetProvidersDescription(name, allKeyStrings.Length, configFile);
         return false;
     }
     element = (ProviderElement)BaseGet(name.ToLower());
     error = null;
     return true;
 }
Exemplo n.º 23
0
 public void Add(ProviderElement provider)
 {
     base.BaseAdd(provider);
 }
        public static ICanAddServices <TNext> From <TNext, TService>(this ICanAddServices <TNext> services, ProviderElement <TService> element)
            where TService : class
        {
            if (element != null && element.Type != null)
            {
                var props = element.Parameters.Count == 0
                                                                ? null
                                                                : element.Parameters.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

                var init = props == null
                                                                ? null
                                                                : new Action <TService>(instance => ObjectUpdater.Update(instance, props));

                services.Service(element.Type, init);
            }

            return(services);
        }