static void Main() { ISession _session = NHibernateService.OpenSession(); IRepositoryFactory _repositoryFactory = new RepositoryFactory(_session); IWindowFormsFactory _formsFactory = new WindowFormsFactory(); IUserRepository _userRepository = _repositoryFactory.GetUserRepository(); IInitialRunController _initialRunController = new InitialRunController(_formsFactory, _repositoryFactory); IUserController _userController = new UserController(_formsFactory, _repositoryFactory); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); List <User> users = _userRepository.GetAllUsers(); if (users.Count == 0) { Application.Run(new frmStartCalorieLimitWindow(_initialRunController, _userController, _repositoryFactory)); } else { IFoodDatabaseController _foodDatabaseController = new FoodDatabaseController(_formsFactory, _repositoryFactory); IFoodController _foodController = new FoodController(_formsFactory, _repositoryFactory); Application.Run(new frmDailyIntakeWindow(_foodDatabaseController, _foodController, _repositoryFactory, users[0])); } }
private void calorieLimitCounterToolStripMenuItem_Click(object sender, EventArgs e) { IInitialRunController _initialRunController = new InitialRunController(_formsFactory, _repositoryFactory); IUserController _userController = new UserController(_formsFactory, _repositoryFactory); var clcForm = new frmCalorieLimitCalculatorWindow(_initialRunController, _userController, _repositoryFactory, user); this.Close(); th = new Thread(delegate() { RunOnNextForm(clcForm); }); th.SetApartmentState(ApartmentState.STA); th.Start(); }