public DatabaseOptionsBuilder <T> UseProvider(PersistanceProvider provider)
        {
            _databaseOptions.Provider = provider;

            try
            {
                //Decide the connection object depends on Persistance Provider (SQL Server, Oracle DB or MySql)
                var connectionConcrete = PersistanceProviderFactory.GetProvider(_databaseOptions.Provider);

                //Register connection object to autofac container.
                //Remember that Connection object constructors requires a connection string!!!
                AutofacModule.ContainerBuilder.RegisterType(connectionConcrete).As <IConnection>()
                .WithParameter(new TypedParameter(typeof(string), _databaseOptions.ConnectionString));
            }
            catch (Exception e)
            {
            }


            AutofacModule.ContainerBuilder.RegisterInstance <DatabaseOptions>(_databaseOptions);

            isProviderSet = true;
            if (isConnStringSet)
            {
                this.Build();
            }

            return(this);
        }
 protected override Error GetError(Guid guid)
 {
     if (!IsConfigured())
     {
         throw new NotImplementedException();
     }
     return(ConvertToError(PersistanceProvider.GetError(guid)));
 }
 protected override int GetErrorCount(DateTime?since = default(DateTime?), string applicationName = null)
 {
     if (!IsConfigured())
     {
         throw new NotImplementedException();
     }
     return(PersistanceProvider.GetErrorCount(since, applicationName));
 }
 protected override bool DeleteError(Guid guid)
 {
     if (!IsConfigured())
     {
         throw new NotImplementedException();
     }
     return(PersistanceProvider.DeleteError(guid));
 }
 protected override bool DeleteAllErrors(string applicationName = null)
 {
     if (!IsConfigured())
     {
         throw new NotImplementedException();
     }
     return(PersistanceProvider.DeleteAllErrors(applicationName));
 }
        protected override int GetAllErrors(List <Error> list, string applicationName = null)
        {
            if (!IsConfigured())
            {
                throw new NotImplementedException();
            }
            var sourceList = new List <IPersistedError>();
            int retval     = PersistanceProvider.GetAllErrors(sourceList, applicationName);

            list.AddRange(sourceList.Select(ConvertToError));
            return(retval);
        }
        protected override void LogError(Error error)
        {
            if (!IsConfigured())
            {
                throw new NotImplementedException();
            }
            var retval = PersistanceProvider.LogError(error);

            if (retval != null && retval.GUID != error.GUID)
            {
                error.IsDuplicate = true;
            }
        }
Пример #8
0
 public static Type GetProvider(PersistanceProvider providerEnum)
 {
     return(_providers.Where(p => p.Key == providerEnum).Single().Value);
 }
Пример #9
0
 internal DatabaseOptions(PersistanceProvider provider, string connString)
 {
     ConnectionString = connString;
     Provider         = provider;
 }