コード例 #1
0
ファイル: Program.cs プロジェクト: tyrgin/net-courses
        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();
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: tyrgin/net-courses
        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();
            }
        }