private static void Main() { Logger.InitLogger(); using (var db = new StockExchangeDataContext("DBConnection")) { var bs = new BusinessService(db); db.Status = Status.GetStatusInstance(); var gen = new RandomTransactionGenerator(bs); Console.CancelKeyPress += (sender, args) => { gen.Active = false; args.Cancel = true; }; gen.Generate(); bs.GetAllClients().ShowAll(Traider.Header); bs.GetBlackZoneTraiders().ShowAll(Traider.Header); bs.GetOrangeZoneTraiders().ShowAll(Traider.Header); bs.GetAllOperations().ShowAll(Operation.Header); } Console.WriteLine("\nСорян за такое завершение :("); Console.ReadLine(); }
public static void ClearData(this StockExchangeDataContext dataContext) { dataContext.Clients.RemoveRange(dataContext.Clients); dataContext.Stocks.RemoveRange(dataContext.Stocks); dataContext.Transactions.RemoveRange(dataContext.Transactions); dataContext.SaveChanges(); }
static void Main(string[] args) { XmlConfigurator.Configure(); var logger = LogManager.GetLogger("Logger"); var loggerService = new LoggerService(logger); var transactionInspectors = new List <Func <Transaction, bool> > { (t) => t != null, (t) => t.Seller != null && t.Buyer != null, (t) => t.Seller.Id != t.Buyer.Id, (t) => t.StocksQuantity >= 0, //(t) => t.Buyer.Balance >=0, (t) => (t.StocksQuantity <= t.Seller.ClientStocksQuantity) }; var transactionValidators = new List <TransactionValidator>(); transactionInspectors.ForEach(i => transactionValidators.Add(new TransactionValidator(i))); using (var dataContext = new StockExchangeDataContext())//$"data source=(LocalDb)\\MSSQLLocalDB;initial catalog=StockExchangeCDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework")) { using (IContainer container = IoCBuilder.Build(transactionValidators, loggerService, dataContext)) { var app = container.Resolve <TradeManager>(); bool isContinue = true; Console.WriteLine("Press any key for start trading\nPress C for stop trading"); Console.ReadKey(); Task.Run(() => { app.Run(); }); while (true) { if (Console.ReadKey().Key == ConsoleKey.C) { app.IsContinue = false; break; } } dataContext.SaveChanges(); app.ShowResults(Console.WriteLine); } } }
public static IContainer Build( IEnumerable <ITransactionValidator> transactionValidators, ILoggerService loggerService, StockExchangeDataContext dataContext ) { //var clients = new ClientService(); var builder = new ContainerBuilder(); builder.RegisterInstance(loggerService).As <ILoggerService>(); builder.RegisterInstance(dataContext).As <IRepositoryClient>(); builder.RegisterInstance(dataContext).As <IRepositoryStock>(); builder.RegisterInstance(dataContext).As <IRepositoryTransaction>(); builder.RegisterInstance(transactionValidators).As <IEnumerable <ITransactionValidator> >(); builder.RegisterType <ClientService>().As <IClientService>().SingleInstance(); builder.RegisterType <StockService>().As <IStockService>(); builder.RegisterType <TransactionService>().As <ITransactionService>(); builder.RegisterType <TransactionGenerator>().As <ITransactionGenerator>().SingleInstance(); builder.RegisterType <TradeManager>(); return(builder.Build()); }