public MainController(params Form[] views) { foreach (var view in views) { if (view is UpdateForm) { _updateForm = (UpdateForm)view; } else if (view is UpdateFormDepartment) { _updateFormDepartments = (UpdateFormDepartment)view; } else if (view is EmployeeForm) { _updateFormEmployee = (EmployeeForm)view; } else if (view is DepartmentEmployeeForm) { _departmentEmployeeForm = (DepartmentEmployeeForm)view; } else if (view is MainForm) { _mainForm = (MainForm)view; _mainForm.GetDeleteButton.Click += Delete; _mainForm.GetInsertButton.Click += Insert; _mainForm.GetGrid.RowHeaderMouseDoubleClick += Update; //_mainForm.Load += Read; _mainForm.NetWorthButton.Click += CalculateNetWorth; _mainForm.GetCombo.SelectedIndexChanged += Read; _mainForm.GetCombo.SelectedIndexChanged += SetTableName; } } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (var context = new Controller.MyDbContext()) { try { context.Database.Connection.Open(); } catch (Npgsql.PostgresException ex) { MessageBox.Show($"{ex.MessageText}\n" + $" check the connection string!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(1); } catch (ArgumentException) { MessageBox.Show("Invalid ConnectionString name.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(1); } finally { context.Database.Connection.Close(); } } UpdateForm updateFormProject = new UpdateForm(); EmployeeForm updateFormEmployee = new EmployeeForm(); UpdateFormDepartment updateFormDepartment = new UpdateFormDepartment(); DepartmentEmployeeForm departmentEmployeeForm = new DepartmentEmployeeForm(); LoginForm loginForm = new LoginForm(); MainForm mainForm = new MainForm(); MainController mainController = new MainController(mainForm, updateFormProject, updateFormDepartment, updateFormEmployee, departmentEmployeeForm); LoginController loginController = new LoginController(loginForm, mainForm); Application.Run(loginForm); }