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));
        }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
        public static void Initialize(ISqlAuditor auditor, bool applyEFHack, bool supportExplicitConnectionStrings)
        {
            SqlAuditor.SetCurrentAuditor(auditor);

            if (supportExplicitConnectionStrings && (applyEFHack || IsEF41HackRequired()))
            {
                EFProviderUtilities.UseEF41Hack();
            }

            InitializeDbProviderFactories();
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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));
        }