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; } }
public static Type GetProvider(PersistanceProvider providerEnum) { return(_providers.Where(p => p.Key == providerEnum).Single().Value); }
internal DatabaseOptions(PersistanceProvider provider, string connString) { ConnectionString = connString; Provider = provider; }