예제 #1
0
 public void SetTaskComplete(TaskStatus status)
 {
     int statusId = (int)status;
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     var db = factory.CreateDefault();
     db.ExecuteNonQuery(CommandType.Text, "update app.taskqueue set statusid = " + statusId + ", completedate = '" + DateTime.Now.ToString() + "' where taskQueueId = " + this.TaskQueueId);
 }
예제 #2
0
파일: SimpleDemo.cs 프로젝트: JackBao/MyLab
 private static Database CreateDatabase(MethodType type)
 {
     switch (type)
     {
         case MethodType.One:
             {
                 // Should only exist one DatabaseProviderFactory object in your application,
                 // since all the Database objects are cached in the factory
                 var factory = new DatabaseProviderFactory();
                 return factory.CreateDefault();
             }
         case MethodType.Two:
             {
                 var factory = new DatabaseProviderFactory();
                 DatabaseFactory.SetDatabaseProviderFactory(factory);
                 return DatabaseFactory.CreateDatabase();
             }
         case MethodType.Three:
             {
                 var factory = new DatabaseProviderFactory();
                 DatabaseFactory.SetDatabaseProviderFactory(factory);
                 return DatabaseFactory.CreateDatabase("LocalDb");
             }
         case MethodType.Four:
             {
                 return new SqlDatabase(ConfigurationManager.ConnectionStrings["LocalDb"].ConnectionString);
             }
         default:
             throw new NotSupportedException();
     }
 }
 string GetLastLogMessage(string databaseName)
 {
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     Data.Database db = ((databaseName == null) || (databaseName.Length == 0)) ? factory.CreateDefault() : factory.Create(databaseName);
     DbCommand command = db.GetSqlStringCommand("SELECT TOP 1 FormattedMessage FROM Log ORDER BY TimeStamp DESC");
     string messageContents = Convert.ToString(db.ExecuteScalar(command));
     return messageContents;
 }
 int GetNumberOfLogMessage(string databaseName)
 {
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     Data.Database db = ((databaseName == null) || (databaseName.Length == 0)) ? factory.CreateDefault() : factory.Create(databaseName);
     DbCommand command = db.GetSqlStringCommand("SELECT COUNT(*) FROM Log");
     int numMessages = Convert.ToInt32(db.ExecuteScalar(command));
     return numMessages;
 }
 void ClearLogs()
 {
     //clear the log entries from the database
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     Data.Database db = factory.CreateDefault();
     DbCommand command = db.GetStoredProcCommand("ClearLogs");
     db.ExecuteNonQuery(command);
 }
예제 #6
0
        public BaseEngine()
        {
            // Configure the DatabaseFactory to read its configuration from the .config file
            Factory = new DatabaseProviderFactory();

            // Create the default Database object from the factory.
            // The actual concrete type is determined by the configuration settings.
            DefaultDb = Factory.CreateDefault();

            //// Create a Database object from the factory using the connection string name.
            //Database namedDB = Factory.Create("ExampleDatabase");
        }
예제 #7
0
 public static Database CreateDatabase()
 {
     try
     {
         DatabaseProviderFactory factory = new DatabaseProviderFactory(ConfigurationSourceFactory.Create());
         return(factory.CreateDefault());
     }
     catch (ConfigurationErrorsException configurationException)
     {
         TryLogConfigurationError(configurationException, "default");
         throw;
     }
 }
		public void SetUp()
        {
            DatabaseProviderFactory dbFactory = new DatabaseProviderFactory(ConfigurationSourceFactory.Create());
            db = dbFactory.CreateDefault();
            unencryptedBackingStore = new DataBackingStore(db, "encryptionTests", null);
            unencryptedBackingStore.Flush();

			ProtectedKey key = KeyManager.GenerateSymmetricKey(typeof(RijndaelManaged), DataProtectionScope.CurrentUser);
			using (FileStream stream = new FileStream("ProtectedKey.file", FileMode.Create))
			{
				KeyManager.Write(stream, key);
			}
		}
예제 #9
0
        /// <summary>
        /// Method for invoking a default Database object. Reads default settings
        /// from the ConnectionSettings.config file.
        /// </summary>
        /// <example>
        /// <code>
        /// Database dbSvc = DatabaseFactory.CreateDatabase();
        /// </code>
        /// </example>
        /// <returns>Database</returns>
        /// <exception cref="System.Configuration.ConfigurationException">
        /// <para>An error occured while reading the configuration.</para>
        /// </exception>
        public static Database CreateDatabase()
        {
            try
            {
                DatabaseProviderFactory factory = new DatabaseProviderFactory(ConfigurationSourceFactory.Create());
                return factory.CreateDefault();
            }
            catch (ConfigurationErrorsException configurationException)
            {
                TryLogConfigurationError(configurationException, "default");

                throw;
            }
        }
 void ClearLogs()
 {
     //clear the log entries from the database
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     Data.Database db = factory.CreateDefault();
     DbCommand command = db.GetStoredProcCommand("ClearLogs");
     try
     {
         db.ExecuteNonQuery(command);
     }
     catch (SqlException ex)
     {
         Assert.Inconclusive("Cannot access the database. Make sure to run the LoggingDatabase.sql script to install the appropriate database. " + Environment.NewLine + ex.Message);
     }
 }
예제 #11
0
        public void LoadTask(int taskQueueId)
        {
            _taskQueueId = taskQueueId;

            DatabaseProviderFactory factory = new DatabaseProviderFactory();
            var db = factory.CreateDefault();
            using (IDataReader reader = db.ExecuteReader(CommandType.Text, "SELECT createdBy, parameters, taskId FROM app.taskQueue where taskQueueId = " + taskQueueId))
            {
                while (reader.Read())
                {
                    _parameters = deserializeParameters(reader.GetString(1));
                    _createdByUser = reader.GetString(0);
                    SetTaskStarted();
                }
            }
        }
        public void SetUp()
        {
            // to force mstest to copy the assembly
            var ignored = typeof(Caching.Cryptography.SymmetricStorageEncryptionProvider).GetConstructors();

            DatabaseProviderFactory dbFactory = new DatabaseProviderFactory(ConfigurationSourceFactory.Create());
            db = dbFactory.CreateDefault();
            unencryptedBackingStore = new DataBackingStore(db, "encryptionTests", null);
            unencryptedBackingStore.Flush();

            ProtectedKey key = KeyManager.GenerateSymmetricKey(typeof(RijndaelManaged), DataProtectionScope.CurrentUser);
            using (FileStream stream = new FileStream("ProtectedKey.file", FileMode.Create))
            {
                KeyManager.Write(stream, key);
            }
        }
예제 #13
0
        static void Main(string[] args)
        {
            #region Create the required objects

            // Configure the DatabaseFactory to read its configuration from the config file
            DatabaseProviderFactory factory = new DatabaseProviderFactory();

            // Create a Database object from the factory using the default database defined in the configuration file:
            // <dataConfiguration defaultDatabase="ExampleDatabase" />
            defaultDB = factory.CreateDefault();

            // Or create a Database object from the factory using the connection string name.
            // defaultDB = factory.Create("ExampleDatabase");

            // Create a SqlDatabase object from the factory using the default database.
            sqlServerDB = factory.Create("ExampleDatabase") as SqlDatabase;

            // Crate a Database object that has "Asynchronous Processing=true" in the connection string.
            asyncDB = factory.Create("AsyncExampleDatabase");

            // An alternative approach to building the database objects using the
            // static facade is:
            //DatabaseFactory.SetDatabaseProviderFactory(factory, false);
            //defaultDB = DatabaseFactory.CreateDatabase("ExampleDatabase");
            //sqlServerDB = DatabaseFactory.CreateDatabase() as SqlDatabase;
            //asyncDB = DatabaseFactory.CreateDatabase("AsyncExampleDatabase");

            #endregion

            new MenuDrivenApplication("Data Access Block Developer's Guide Examples",
                ReadSQLStatement,
                ReadStoredProcWithParams,
                ReadSQLOrSprocWithNamedParams,
                ReadDataAsObjects,
                ReadDataAsXML,
                ReadScalarValue,
                ReadDataAsynchronously,
                ReadDataAsynchronouslyTask,
                ReadObjectsAsynchronously,
                UpdateWithCommand,
                FillAndUpdateDataset,
                LoadAndUpdateTypedDataset,
                UseConnectionTransaction,
                UseTransactionScope).Run();
        }
        public static void Configure(IUnityContainer container)
        {
            // Get Entlib config source (Current is in Web.EnterpriseLibrary.config)
            IConfigurationSource source = ConfigurationSourceFactory.Create();

            // Config container from Policy injection config settings 
            var policyInjectionSettings = (PolicyInjectionSettings)source.GetSection(PolicyInjectionSettings.SectionName);
            policyInjectionSettings.ConfigureContainer(container);

            // Config retry policy
            var retryPolicySettings = RetryPolicyConfigurationSettings.GetRetryPolicySettings(source);
            // turn off throwIfSet for unit testing
            RetryPolicyFactory.SetRetryManager(retryPolicySettings.BuildRetryManager(), throwIfSet: false);

            // get factories from config
            var policyFactory = new ExceptionPolicyFactory(source);
            var dbFactory = new DatabaseProviderFactory(source);
            var validationFactory = ConfigurationValidatorFactory.FromConfigurationSource(source);
            
            // Set default locator
            UnityServiceLocator locator = new UnityServiceLocator(container);
            ServiceLocator.SetLocatorProvider(() => locator);            
            
            container
                .AddNewExtension<Interception>()

                // register Entlib types with appropiate factory  
                .RegisterType<ExceptionManager>(new InjectionFactory(c => policyFactory.CreateManager()))
                .RegisterType<Database>(new InjectionFactory(c => dbFactory.CreateDefault()))
                .RegisterInstance<ValidatorFactory>(validationFactory)

                // use registration by convention extension for registering app types; IProfileStore, IUserRepository
                .RegisterTypes(AllClasses.FromAssemblies(Assembly.GetExecutingAssembly()), 
                               WithMappings.FromAllInterfacesInSameAssembly, 
                               WithName.Default, 
                               WithLifetime.ContainerControlled)

                // register types with interception 
                .RegisterType<AExpense.Model.User>(new Interceptor<VirtualMethodInterceptor>(),
                                                   new InterceptionBehavior<TracingBehavior>())
                .RegisterType<IExpenseRepository, ExpenseRepository>(new Interceptor<VirtualMethodInterceptor>(),
                                                                     new InterceptionBehavior<PolicyInjectionBehavior>());
        }
        public void LogWithMultipleCategories()
        {
            FormattedDatabaseTraceListener listener = new FormattedDatabaseTraceListener(new SqlDatabase(connectionString), "WriteLog", "AddCategory", new TextFormatter("TEST{newline}TEST"));

            // need to go through the source to get a TraceEventCache
            TraceSource source = new TraceSource("notfromconfig", SourceLevels.All);
            source.Listeners.Add(listener);
            LogEntry logEntry = new LogEntry();
            logEntry.Message = "message";
            logEntry.Categories.Add("FormattedCategory");
            logEntry.Categories.Add("DictionaryCategory");
            logEntry.EventId = 123;
            logEntry.Priority = 11;
            logEntry.Severity = TraceEventType.Error;
            logEntry.Title = "title";
            source.TraceData(TraceEventType.Error, 0, logEntry);

            DatabaseProviderFactory factory = new DatabaseProviderFactory(ConfigurationSourceFactory.Create());
            Data.Database db = factory.CreateDefault();
            DbCommand command = db.GetSqlStringCommand("SELECT Count(*) FROM Category");
            int categoryCount = Convert.ToInt32(db.ExecuteScalar(command));

            Assert.AreEqual(2, categoryCount);
        }
예제 #16
0
 public void SetTaskStarted()
 {
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     var db = factory.CreateDefault();
     db.ExecuteNonQuery(CommandType.Text, "update app.taskqueue set starteddate = '"  + DateTime.Now.ToString() + "' where taskQueueId = " + this.TaskQueueId);
 }
예제 #17
0
파일: DBFactory.cs 프로젝트: iissy/ASY
 public static Database Create(string databaseName)
 {
     DatabaseProviderFactory factory = new DatabaseProviderFactory();
     return string.IsNullOrWhiteSpace(databaseName) ? factory.CreateDefault() : factory.Create(databaseName);
 }
예제 #18
0
        public static SqlDatabase CreateDB()
        {
            DatabaseProviderFactory factory = new DatabaseProviderFactory();

            return factory.CreateDefault() as SqlDatabase;
        }