public IProductManagementService ResolveProductManagementService() { string connectionString = ConfigurationManager.ConnectionStrings ["CommerceObjectContext"].ConnectionString; // Inner Product Repository ProductRepository sqlRepository = new SqlProductRepository(connectionString); IAuditor sqlAuditor = new SqlAuditor(connectionString); // Decorator class ProductRepository auditingRepository = new AuditingProductRepository( sqlRepository, sqlAuditor); IContractMapper mapper = new ContractMapper(); // Injection of Decorator to use it as an interceptor of // the inner class functionality return(new ProductManagementService( auditingRepository, mapper)); }
protected override void OnStart(string[] args) { auditor = new SqlAuditor(Config.AuditConfig.Load("Config.xml")); auditor.RegisterObserver(new GenericTraceObserverFactory((context) => new DBLogger())); auditor.RegisterObserver(new GenericTraceObserverFactory((context) => new EmailProvider())); auditor.Start(); // auditor.WaitAll(); }
public static void Initialize(ISqlAuditor auditor, bool applyEFHack, bool supportExplicitConnectionStrings) { SqlAuditor.SetCurrentAuditor(auditor); if (supportExplicitConnectionStrings && (applyEFHack || IsEF41HackRequired())) { EFProviderUtilities.UseEF41Hack(); } InitializeDbProviderFactories(); }
static void Main(string[] args) { System.Console.CancelKeyPress += Console_CancelKeyPress; Console.WriteLine("SqlAuditor: Reading Config..."); var config = AuditConfig.Load("Config.xml"); auditor = new SqlAuditor(config); Console.WriteLine("SqlAuditor: Registering Observers..."); auditor.RegisterObserver(new GenericTraceObserverFactory((context) => new ConsoleTrace())); auditor.RegisterObserver(new GenericTraceObserverFactory((context) => new DBLogger())); auditor.Start(); Console.WriteLine("SqlAuditor: Started."); Console.WriteLine("Press CTR+C to exit."); auditor.WaitAll(); }
public IProductManagementService ResolveProductManagementService() { string connectionString = ConfigurationManager.ConnectionStrings ["CommerceObjectContext"].ConnectionString; ProductRepository sqlRepository = new SqlProductRepository(connectionString); IAuditor sqlAuditor = new SqlAuditor(connectionString); ProductRepository auditingRepository = new AuditingProductRepository( sqlRepository, sqlAuditor); IContractMapper mapper = new ContractMapper(); return(new ProductManagementService( auditingRepository, mapper)); }