private void AutometicAcceptChallenges(DataTable dt) { if (Ap.IsGameInProgress) { return; } if ((Ap.SelectedRoomID == (int)RoomE.ComputerChess || Ap.SelectedRoomID == (int)RoomE.EngineHall || Ap.SelectedRoomID == (int)RoomE.FreestyleChess || Ap.SelectedRoomID == (int)RoomE.TestRoom) && Ap.PlayingMode.ChessTypeID == (int)ChessTypeE.Engine && Ap.CurrentUser.UserStatusIDE == UserStatusE.Engine) { if (PlayingModeData.Instance.AutometicAccepts && dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Select("ChessTypeID=2 AND ChallengeStatusID=1")[0]; foreach (DataGridViewRow item in dataGridView1.Rows) { if (item.Cells[0].Value == dr[0]) { item.Selected = true; toolStripButtonAccept.PerformClick(); return; } } } if (PlayingModeData.Instance.AutometicChallenges && Ap.CanAutoChallenge) { Ap.CanAutoChallenge = false; GameType gameTypeIDE = GameTime.GetGameType(PlayingModeData.Instance.Time, 0); DataSet ds = SocketClient.AddChallengeData(Ap.CurrentUserID, 0, ChallengeTypeE.Seek, gameTypeIDE, ColorE.Autometic, Ap.SelectedRoomID, PlayingModeData.Instance.Time, PlayingModeData.Instance.GainPerMove, 2, true, true, false, string.Empty, 0, 0); ChallengesUc.Instance.LoadChallenges(ds.Tables[0]); } } }
private void SaveChallenge() { int chessTypeID, roomID, timeMin, gainPerMove; bool isRated, withClock, challengerSendsGame; string description = ""; ColorE colorIDE; GameType gameTypeIDE; decimal stake = 0, flate = 0; if (userFiniUc1.IsFiniApplicable(opponentUserID)) { return; } stake = userFiniUc1.Stake; flate = userFiniUc1.Flate; chessTypeID = PlayingModeData.Instance.ChessTypeID; if (rbAutometic.Checked) { colorIDE = ColorE.Autometic; } else if (rbWhite.Checked) { colorIDE = ColorE.White; } else { colorIDE = ColorE.Black; } if (Ap.SelectedRoomID != 0) { roomID = Ap.SelectedRoomID; } else { roomID = Ap.CurrentUser.RoomID; } isRated = chkRated.Checked; withClock = chkWithClock.Checked; if (withClock) { if (chessTypeID == 3) { gameTypeIDE = GameType.Long; } else { gameTypeIDE = GameTime.GetGameType((int)numericUpDownTime.Value, 0); } timeMin = Convert.ToInt32(numericUpDownTime.Value); gainPerMove = Convert.ToInt32(numericUpDownGainMove.Value); } else { gameTypeIDE = GameType.NoClock; timeMin = 0; gainPerMove = 0; } challengerSendsGame = chkChallengesSendsGame.Checked; description = ""; try { DataSet ds = SocketClient.AddChallengeData(Ap.CurrentUserID, opponentUserID, ChallengeTypeE.Challenge, gameTypeIDE, colorIDE, roomID, timeMin, gainPerMove, chessTypeID, isRated, withClock, challengerSendsGame, description, Convert.ToInt32(stake), Convert.ToInt32(flate)); ChallengesUc.Instance.LoadChallenges(ds.Tables[0]); } catch (Exception ex) { TestDebugger.Instance.WriteError(ex); } }