Exemplo n.º 1
0
        public DataProviderBase InvalidateDataProvider(DataProviderBase dataProvider, string configuration, string connectionString)
        {
            var dataProviderType = dataProvider.GetType();

            if (!_providers.ContainsKey(dataProviderType))
            {
                throw new InvalidOperationException(
                          string.Format(Resources.DataProviderVersionResolverBase_ProviderIsNotRegistered, dataProvider.UniqueName,
                                        dataProviderType.FullName));
            }

            DataProviderBase result;

            if (_providersToStrings.TryGetValue(connectionString, out result))
            {
                return(result);
            }

            lock (_providersToStrings)
            {
                if (_providersToStrings.TryGetValue(connectionString, out result))
                {
                    return(result);
                }

                result = InvalidateDataProviderInternal(dataProvider, configuration, connectionString);

                if (result != null)
                {
                    _providersToStrings.Add(connectionString, result);
                }
            }

            return(result);
        }
		public DataProviderBase InvalidateDataProvider(DataProviderBase dataProvider, string configuration, string connectionString)
		{
			var dataProviderType = dataProvider.GetType();
			if (!_providers.ContainsKey(dataProviderType))
			{
				throw new InvalidOperationException(
					string.Format(Resources.DataProviderVersionResolverBase_ProviderIsNotRegistered, dataProvider.UniqueName,
					              dataProviderType.FullName));
			}

			DataProviderBase result;
			if (_providersToStrings.TryGetValue(connectionString, out result))
				return result;

			lock (_providersToStrings)
			{
				if (_providersToStrings.TryGetValue(connectionString, out result))
					return result;

				result = InvalidateDataProviderInternal(dataProvider, configuration, connectionString);

				if (result != null)
					_providersToStrings.Add(connectionString, result);
			}

			return result;
		}
		public void AddDataProvider(DataProviderBase dataProvier)
		{
			if (dataProvier == null)
				throw new ArgumentNullException("dataProvier");

			var providerType = dataProvier.GetType();
			if (!TypeHelper.IsSameOrParent(_baseProviderType, providerType))
				throw new ArgumentException(
					string.Format(Resources.DataProviderVersionResolverBase_InvalidProviderType, providerType.FullName, _baseProviderType.FullName));

			lock (_providers)
			{
				_providers[providerType] = dataProvier;
			}
		}
Exemplo n.º 4
0
        public void AddDataProvider(DataProviderBase dataProvier)
        {
            if (dataProvier == null)
            {
                throw new ArgumentNullException("dataProvier");
            }

            var providerType = dataProvier.GetType();

            if (!TypeHelper.IsSameOrParent(_baseProviderType, providerType))
            {
                throw new ArgumentException(
                          string.Format(Resources.DataProviderVersionResolverBase_InvalidProviderType, providerType.FullName, _baseProviderType.FullName));
            }

            lock (_providers)
            {
                _providers[providerType] = dataProvier;
            }
        }