static void Main(string[] args) { using (var dbContext = new TablePerTypeContext()) { XmlConfigurator.Configure(); ILog logger = LogManager.GetLogger("TextLogger"); Container container = new Container(_ => { _.For <ILoggerService>().Use <LoggerService>().Ctor <ILog>().Is(logger); _.For <BussinesService>().Use <BussinesService>().Ctor <IDataContextRepository>().Is(dbContext); _.For <IProducer>().Use <GoodTradeProducer>(); }); var loggerService = container.GetInstance <ILoggerService>(); var bussinesService = container.GetInstance <BussinesService>(); var producer = container.GetInstance <IProducer>(); CreateDB(bussinesService, loggerService); Task.Run(() => { producer.Run(dbContext.Clients.Count()); }); Console.ReadLine(); producer.IsContinue = false; Console.WriteLine("Stop trading!"); Console.ReadKey(); } }
static void Main(string[] args) { using (var dbContext = new TablePerTypeContext()) { XmlConfigurator.Configure(); ILog logger = LogManager.GetLogger("TextLogger"); LoggerService loggerService = new LoggerService(logger); BussinesService bussinesService = new BussinesService(dbContext, loggerService); CreateDB(bussinesService, loggerService); GoodTradeProducer producer = new GoodTradeProducer(loggerService, bussinesService); producer.OnBalanceChanged += bussinesService.NewTradeMade; producer.OnBalanceChanged += bussinesService.NewBalanceForSeller; Task.Run(() => { producer.Run(dbContext.Clients.Count()); }); Console.ReadLine(); producer.IsContinue = false; Console.WriteLine("Stop trading!"); Console.ReadKey(); } }