/// <summary>
        /// configure a data access section to hold the correct connection string info/product name and service name
        /// if found then update otherwise create
        /// </summary>
        /// <param name="config"></param>
        /// <param name="sectionView"></param>
        /// <param name="connectionSettings"></param>
        /// <param name="productName"></param>
        /// <param name="serviceName"></param>
        private static void ConfigureSection
        (
            Configuration config,
            DataAccessConfigurationView sectionView,
            ConnectionStringSettings connectionSettings,
            string productName,
            string serviceName
        )
        {
            DataAccessSettings dataAccessSettings;


            ConfigurationManager.RefreshSection(sectionView.DataAccessSettingsSectionName);

            try
            {
                dataAccessSettings = config.Sections.OfType <DataAccessSettings>().FirstOrDefault(n => n.SectionInformation.Name == sectionView.DataAccessSettingsSectionName);
            }
            catch (Exception)
            {
                config.Sections.Remove(sectionView.DataAccessSettingsSectionName);
                dataAccessSettings = null;
            }

            bool newSection = false;

            if (null == dataAccessSettings)
            {
                dataAccessSettings = new DataAccessSettings();
                newSection         = true;
            }

            dataAccessSettings.ConnectionName = connectionSettings.Name;

            string defaultConnectionName = string.Empty;

            if (!string.IsNullOrEmpty(productName))
            {
                AddProduct(dataAccessSettings, productName, connectionSettings.Name);
            }

            if (!string.IsNullOrEmpty(serviceName))
            {
                AddServiceToProduct(dataAccessSettings, productName, serviceName, connectionSettings.Name);
            }

            if (newSection)
            {
                config.Sections.Add(sectionView.DataAccessSettingsSectionName, dataAccessSettings);
            }
        }
Beispiel #2
0
        private static T GetDataAccess <T>(DataAccessConfigurationView configView)
        {
            T service;

            if (!DataAccessServices.IsDataAccessServiceRegistered <T>())
            {
                service = DataAccessFactory.GetInstance(configView).CreateDataAccessAgent <T>();
                DataAccessServices.RegisterDataAccessService <T>(service);
            }
            else
            {
                service = DataAccessServices.GetDataAccessService <T>();
            }
            return(service);
        }
Beispiel #3
0
        public static T GetAgent <T>(System.Configuration.Configuration configuration, DataAccessConfigurationView view)
        {
            T agent;

            if (!DataAccessServices.IsDataAccessServiceRegistered <T>())
            {
                agent = DataAccessFactory.GetInstance(view).CreateDataAccessAgent <T>();
                DataAccessServices.RegisterDataAccessService <T>(agent);
            }
            else
            {
                agent = DataAccessServices.GetDataAccessService <T>();
            }
            return(agent);
        }
Beispiel #4
0
 public MyStorageSqlDbDataAccessAgent(DataAccessConfigurationView configView)
     : base(configView)
 {
     // __DataProvider = CreateDataProvider(ConnectionString);
     MaxQueryResults = 0;
 }