private void Initialize(IRegistrationService registrationService, IWebDriverProviderService webDriverProviderService) { if (!registrationService.IsCurrentMachineRegistrated()) { MessageBox.Show("Your machine has not been registered.", "Registration Error", MessageBoxButtons.OK, MessageBoxIcon.Information); Environment.Exit(0); } _plemionaToolLocalData = _plemionaToolLocalDataService.Load(); _webDriver = webDriverProviderService.CreateWebDriver(); _windowsPositionService.SetMainFormWindow(this); var browserWindow = _webDriver.Manage().Window; _windowsPositionService.SetBrowserWindow(browserWindow); GridTroopsTemplates.LostFocus += (s, e) => GridTroopsTemplates.ClearSelection(); GridTroopsOrders.LostFocus += (s, e) => GridTroopsOrders.ClearSelection(); _plemionaFeaturesDiagnosticsService = new PlemionaFeaturesDiagnosticsService(TbxDiagnostics); _plemionaFeaturesDiagnostics.OnStepDelay += _plemionaFeaturesDiagnosticsService.LogStepDelay; //_plemionaFeaturesDiagnostics.OnStepStart += _plemionaFeaturesDiagnosticsService.LogStepStart; _plemionaFeaturesDiagnostics.OnStepEnd += _plemionaFeaturesDiagnosticsService.LogStepEnd; _plemionaFeaturesDiagnostics.OnFeatureStart += _plemionaFeaturesDiagnosticsService.LogFeatureStart; _plemionaFeaturesDiagnostics.OnFeatureEnd += _plemionaFeaturesDiagnosticsService.LogFeatureEnd; //BackColor = Color.FromArgb(205, 189, 155); //TabTroopsTemplates.BackColor = Color.FromArgb(205, 189, 155); //TabTroopsOrders.BackColor = Color.FromArgb(205, 189, 155); }
private void GridTroopsTemplates_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { string clickedTroopsTemplateName = GridTroopsTemplates.Rows[e.RowIndex].Cells[1].Value.ToString(); var clickedTroopTemplates = _plemionaToolLocalData.TroopsTemplates.Single(tt => tt.Name == clickedTroopsTemplateName); if (clickedTroopTemplates == _selectedTroopsTemplate) { _selectedTroopsTemplate = null; GridTroopsTemplates.ClearSelection(); } else { _selectedTroopsTemplate = clickedTroopTemplates; } } }
private void GridTroopsTemplates_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { if (_selectedTroopsTemplate != null) { _plemionaToolLocalData.TroopsTemplates.Remove(_selectedTroopsTemplate); var selectedRow = GridTroopsTemplates.Rows.Cast <DataGridViewRow>().Single(r => r.Cells[1].Value.ToString() == _selectedTroopsTemplate.Name); GridTroopsTemplates.Rows.RemoveAt(selectedRow.Index); FixGridNumbers(GridTroopsTemplates); GridTroopsTemplates.ClearSelection(); _selectedTroopsTemplate = null; } } }
private async void FrmMain_Shown(object sender, EventArgs e) { foreach (var troopsTemplate in _plemionaToolLocalData.TroopsTemplates) { GridTroopsTemplates.Rows.Add(GridTroopsTemplates.RowCount + 1, troopsTemplate.Name); } GridTroopsTemplates.ClearSelection(); foreach (var troopsOrder in _plemionaToolLocalData.TroopsOrders) { GridTroopsOrders.Rows.Add(GridTroopsOrders.RowCount + 1, troopsOrder.Name, string.Join("..", troopsOrder.VillagesCoordinates.Select(vc => $"{vc.X}|{vc.Y}")), troopsOrder.ExecutionDate, troopsOrder.Everyday); } GridTroopsOrders.ClearSelection(); SetReady(false); try { await Task.Run(() => { _plemionaSettingsInitializationService.Initialize(); _plemionaFeaturesDiagnostics.SignIn(_plemionaSettings.Url, _plemionaSettings.Username, _plemionaSettings.Password, _plemionaSettings.WorldNumber); }); } catch { MessageBox.Show($"Initialization failed. Happens once in a while, try again.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); _webDriver.Quit(); Environment.Exit(0); } _ownTroops = await Task.Run(() => { return(_plemionaFeaturesDiagnostics.GetTroops()); }); SetReady(true); }