void ButtonCreateItem_Click(object sender, ReflectorButtonEventArgs e) { if (ItemManagmentState.current_inventory_type != null) { String newname = QueryNewName.Show("Enter new " + ItemManagmentState.current_inventory_type["inv_type"] + " item name"); if (newname != null && newname != "") { String condition = "inv_type='" + DsnConnection.Escape(DsnConnection.ConnectionMode.NativeDataTable, DsnConnection.ConnectionFlavor.Unknown, ItemManagmentState.current_inventory_type["inv_type"].ToString()) + "'" + " and item_name='" + DsnConnection.Escape(DsnConnection.ConnectionMode.NativeDataTable, DsnConnection.ConnectionFlavor.Unknown, newname) + "'"; DataRow[] existing = ItemManagmentState.item_dataset.item_descriptions.Select(condition); if (existing.Length < 1) { DataRow newrow = ItemManagmentState.item_dataset.item_descriptions.CreateItem(newname); newrow["inv_type"] = ItemManagmentState.current_inventory_type["inv_type"]; ItemManagmentState.current_item = newrow; DsnSQLUtil.CommitChanges(ItemManagmentState.item_dataset_dsn, ItemManagmentState.item_dataset); } else { MessageBox.Show("Inventory item of specified type already exists"); } } } else { Banner.Show("Must Select Inventory Type"); } }
public RatedGameConfigurator(ScheduleDataSet schedule) { this.schedule = schedule; game_config = new GameConfiguration(schedule); DsnSQLUtil.CreateDataTable(schedule.schedule_dsn, game_config); InitializeComponent(); }
void LoadEvents(DsnConnection dsn) { if (!loaded) { DsnSQLUtil.FillDataTable(dsn, stream_state_cache); if (stream_state_cache.Rows.Count == 0) { DataRow newrow = stream_state_cache.NewRow(); newrow["game_tracking_id"] = Guid.Empty; newrow["session_tracking_id"] = Guid.Empty; stream_state_cache.Rows.Add(newrow); DsnSQLUtil.CommitChanges(dsn, stream_state_cache); stream_state_cache.AcceptChanges(); } DsnSQLUtil.FillDataTable(dsn, session_events); DsnSQLUtil.FillDataTable(dsn, game_events); ValidateSessionEvents(); ValidateGameEvents(); DsnSQLUtil.CommitChanges(dsn, session_events); DsnSQLUtil.CommitChanges(dsn, game_events); session_events.AcceptChanges(); game_events.AcceptChanges(); loaded = true; DsnSQLUtil.UpdateSeed(dsn, session_event_log, session_event_log.session_event_orderColumn); DsnSQLUtil.UpdateSeed(dsn, game_event_log, game_event_log.game_event_orderColumn); //DsnSQLUtil.UpdateSeed( dsn, session_tracking, session_tracking.session_tracking_orderColumn ); DsnSQLUtil.UpdateSeed(dsn, game_tracking, game_tracking.game_tracking_orderColumn); } }
public void Create(DsnConnection odbc) { foreach (DataTable m in PersistantTables) { DsnSQLUtil.MatchCreate(odbc, m); } }
public void Fill(DsnConnection db) { // in case session_order is 0, then sort on legacy number. DsnSQLUtil.FillDataTable(db, session_day_sessions, "open_for_sales_flag<>1 OR open_for_play_flag<>1 OR open_for_issue_flag OR ( opened_for_issue=0 AND opened_for_sales=0 AND opened_for_play=0 )" , "session_order,session_number"); DsnSQLUtil.FillDataTable(db, operational_configuration); }
public void SetValue(DsnConnection dsn, object option_id, String value) { DataRow[] row = values.Select(values.option_idColumn.ColumnName + "='" + option_id.ToString() + "'"); if (row.Length == 0) { List <DataRow> rows = DsnSQLUtil.FillDataTable(dsn, values, values.option_idColumn.ColumnName + "=" + DsnSQLUtil.GetSQLValue(dsn, values.option_idColumn, option_id)); if (rows == null || rows.Count == 0) { DataRow newval = values.NewRow(); newval[values.option_idColumn] = option_id; newval[values.stringColumn] = value; values.Rows.Add(newval); DsnSQLUtil.CommitChanges(dsn, values); } else { rows[0][values.stringColumn] = value; } } else { row[0][values.stringColumn] = value; } DsnSQLUtil.CommitChanges(dsn, values); }
public void SyncToDatabase(DsnConnection dsn) { if (dsn != null) { switch (dsn.DbMode) { case DsnConnection.ConnectionMode.Odbc: case DsnConnection.ConnectionMode.MySqlNative: // cannot truncate foreign keyed tables. //dsn.ExecuteNonQuery( "truncate " + Prefix + XTableName ); dsn.ExecuteNonQuery("delete from " + Prefix + XTableName); // want to reset the keys though... so can truncate after it's empty? dsn.ExecuteNonQuery("ALTER TABLE " + Prefix + XTableName + " AUTO_INCREMENT = 1"); break; case DsnConnection.ConnectionMode.Sqlite: dsn.ExecuteNonQuery("delete from " + Prefix + XTableName); dsn.KindExecuteNonQuery("update sqlite_sequence set seq = 1 where name='" + Prefix + XTableName + "'"); break; default: dsn.ExecuteNonQuery("delete from " + Prefix + XTableName); break; } DsnSQLUtil.InsertAllRows(dsn, this); } filling = false; }
public void StoreVerifiedCard(Guid player, object packinfo, int card_number, int win_mask, byte[, ,] card_face) { if (disable) { return; } //LoadEvents( game_event_dsn ); if (DsnSQLUtil.Compare(stream_state_cache.game_tracking_idColumn.DataType , stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn] , NoSessionGame)) { return; } DataRow[] event_id = game_events.Select(game_events.event_nameColumn + "='winner found'"); { DataRow card_verified = game_event_log.NewRow(); card_verified[game_event_log.game_event_log_idColumn] = DsnConnection.GetGUID(game_event_dsn); card_verified[game_event_log.game_tracking_idColumn] = stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn]; card_verified[game_event_log.game_event_idColumn] = event_id[0][game_events.game_event_idColumn]; card_verified[game_event_log.ballColumn] = 0; card_verified[game_event_log.game_event_timeColumn] = DateTime.Now; game_event_log.Rows.Add(card_verified); last_event = DateTime.Now; } }
public void CloseGame() { //LoadEvents( game_event_dsn ); if (DsnSQLUtil.Compare(stream_state_cache.game_tracking_idColumn.DataType , stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn] , NoSessionGame)) { return; } DataRow[] event_id = game_events.Select(game_events.event_nameColumn + "='close'"); { DataRow close_event = game_event_log.NewRow(); close_event[game_event_log.game_event_log_idColumn] = DsnConnection.GetGUID(game_event_dsn); close_event[game_event_log.game_tracking_idColumn] = stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn]; close_event[game_event_log.game_event_idColumn] = event_id[0][game_events.game_event_idColumn]; close_event[game_event_log.ballColumn] = 0; close_event[game_event_log.game_event_timeColumn] = DateTime.Now; game_event_log.Rows.Add(close_event); } stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn] = NoSessionGame; last_event = DateTime.Now; }
public void CloseSession() { //LoadEvents( game_event_dsn ); if (DsnSQLUtil.Compare(stream_state_cache.session_tracking_idColumn.DataType , stream_state_cache.Rows[0][stream_state_cache.session_tracking_idColumn], NoSessionGame)) { return; } CloseGame(); DataRow[] event_id = session_events.Select(game_events.event_nameColumn + "='close'"); { DataRow close_event = session_event_log.NewRow(); close_event[session_event_log.session_event_log_idColumn] = DsnConnection.GetGUID(game_event_dsn); close_event[session_event_log.session_tracking_idColumn] = stream_state_cache.Rows[0][stream_state_cache.session_tracking_idColumn]; close_event[session_event_log.session_event_idColumn] = event_id[0][session_events.session_event_idColumn]; close_event[session_event_log.session_event_timeColumn] = DateTime.Now; session_event_log.Rows.Add(close_event); last_event = DateTime.Now; } stream_state_cache.Rows[0][stream_state_cache.session_tracking_idColumn] = NoSessionGame; DsnSQLUtil.CommitChanges(game_event_dsn, stream_state_cache); stream_state_cache.AcceptChanges(); }
public void Trigger(String Event, String TableName, String Column) { if (this.FullTableName == TableName) { if (self_triggered) { self_triggered = false; Log.log("Ignoring self triggered event."); return; } else { Log.log(this.TableName + " Received notice " + Event + " On " + TableName + " . " + Column); } switch (Event) { case "Table Updated": if (FormReloadTable != null) { FormReloadTable(this); } else { DsnSQLUtil.ReloadTable(connection, this); } break; } } else { Log.log("Still a wasted event notice."); } // get the image }
/// <summary> /// Creates a table with a prefix and a name, deault columns name_id and name_name /// </summary> /// <param name="prefix">Prefix to prepend to the table name (not column names)</param> /// <param name="name">Table name to create and fill</param> /// <param name="add_default_columns">Option to add default _id and _name column</param> /// <param name="auto_fill">Option to auto create/fill table with data</param> public MySQLDataTable(DsnConnection dsn = null , string prefix = null , string name = null , bool add_default_columns = false , bool trim_info = false , bool auto_fill = false , bool live_update_dsn = false , string fill_query = null ) { this.connection = dsn; this.live = live_update_dsn; this.TableName = (name == null)? "" :name; this.Prefix = (prefix == null) ? "" : prefix; Init(); if (add_default_columns && name != null) { AddDefaultColumns(trim_info); } if (auto_fill) { if (this.FullTableName != "") { DsnSQLUtil.CreateDataTable(connection, this); } if (fill_query != null) { Fill(fill_query, 0); } else { Fill(); } } }
public String GetValue(DsnConnection dsn, object option_id) { DataRow[] row = values.Select(values.option_idColumn.ColumnName + "='" + option_id.ToString() + "'"); if (row.Length == 0) { List <DataRow> rows = DsnSQLUtil.FillDataTable(dsn, values, values.option_idColumn.ColumnName + "=" + DsnSQLUtil.GetSQLValue(dsn, values.option_idColumn, option_id)); if (rows == null || rows.Count == 0) { #if asdfasdf DataRow newval = values.NewRow(); newval[values.option_idColumn] = option_id; newval[values.stringColumn] = default_value; values.Rows.Add(newval); MySQLDataTable.CommitChanges(dsn, values); return(default_value); #endif //throw new Exception( "soemthign bad" ); return(null); } else { return(rows[0][values.stringColumn].ToString()); } } else { return(row[0][values.stringColumn].ToString()); } }
public void Drop(DsnConnection dataConnection) { for (LinkedListNode <DataTable> table_node = PersistantTables.Last; table_node != null; table_node = table_node.Previous) { DsnSQLUtil.DropTable(dataConnection, table_node.Value); } }
void SetupTables() { if (!isTableSetup) { fallback_ini = root.fallback_ini; if (fallback_ini) { //tables_setup = true; return; } DataSetConnection dsc = new DataSetConnection(ds); dsc.Create(db); //DsnSQLUtil.MatchCreate( db, ds ); option_map = ds.map; option_map_key_type = option_map.Columns["option_id"].DataType; ds.Fill(db); foreach (DataRow row in ds.map.Rows) { DataRow name = row.GetParentRow(ds.Relations["FK_name_map"]); object ID; OptionEntry opt = new OptionEntry(this , ID = row[ds.map.option_idColumn] , name[ds.name.nameColumn].ToString() , row.GetChildRows("FK_option_name")); opt.m_description = row[ds.map.descriptionColumn].ToString(); this.Add(opt); } #if no_dataset MySQLDataTable tmp; tmp = new OptionValues(); DsnSQLUtil.MatchCreate(db, tmp); option_map = tmp = new OptionMapTable(); option_map_key_type = option_map.Columns["option_id"].DataType; DsnSQLUtil.MatchCreate(db, tmp); #endif DsnConnection use_db = db; if (use_db != null) { if (fallback_ini) { // is there already a structure to this? // do we have to erase everything and reload? // or transpose into the database? //Log.log( "do something here?" ); fallback_ini = false; } //root._names = new OptionNames( db ); tables_setup = true; } else { fallback_ini = true; } } }
static SessionManagementState() { open_issue_buttons = new List <PSI_Button>(); open_play_buttons = new List <PSI_Button>(); open_sales_buttons = new List <PSI_Button>(); close_issue_buttons = new List <PSI_Button>(); close_sales_buttons = new List <PSI_Button>(); close_play_buttons = new List <PSI_Button>(); schedule = new ScheduleDataSet(StaticDsnConnection.dsn); schedule_currents = new ScheduleCurrents(schedule); schedule.Create(); schedule.Fill(); session_state = new SessionStateDataset(); DsnSQLUtil.MatchCreate(StaticDsnConnection.dsn, session_state); session_state.Fill(StaticDsnConnection.dsn); //DsnSQLUtil.FillDataSet( StaticDsnConnection.dsn, session_state, ); active_sessions = new DataView(session_state.session_day_sessions , "active_flag<>0" + " or open_for_sales_flag<>0" + " or open_for_issue_flag<>0" + " or open_for_play_flag<>0" , "bingoday,session_order", DataViewRowState.CurrentRows); if (active_sessions.Count > 0) { SessionManagementState.current_session = active_sessions[0].Row; } }
internal static void OpenSessionPlay() { DataRow[] prior_open = session_state.session_day_sessions.Select("open_for_play_flag=1"); if (prior_open.Length > 0) { foreach (DataRow prior in prior_open) { prior["open_for_play_flag"] = 0; } } OpenNewSession(); _current_open_session["open_for_play_flag"] = 1; _current_open_session["opened_for_play"] = 1; DsnSQLUtil.CommitChanges(StaticDsnConnection.dsn, session_state); foreach (ActiveSessionList list in active_session_lists) { list.hold_changes = true; } session_state.AcceptChanges(); foreach (ActiveSessionList list in active_session_lists) { list.hold_changes = false; } UpdateStates(); UpdateButtons(); }
public void UncallBall(object sender, BingoGameInterfaces.BingoEvents.BingoSimpleIntEventArgs e) { int ball = e.arg; if (disable) { return; } //LoadEvents( game_event_dsn ); if (DsnSQLUtil.Compare(stream_state_cache.game_tracking_idColumn.DataType , stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn] , NoSessionGame)) { return; } DataRow[] event_id = game_events.Select(game_events.event_nameColumn + "='uncall'"); { DataRow call_event = game_event_log.NewRow(); call_event[game_event_log.game_event_log_idColumn] = DsnConnection.GetGUID(game_event_dsn); call_event[game_event_log.game_tracking_idColumn] = stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn]; call_event[game_event_log.game_event_idColumn] = event_id[0][game_events.game_event_idColumn]; call_event[game_event_log.ballColumn] = ball; call_event[game_event_log.game_event_timeColumn] = DateTime.Now; game_event_log.Rows.Add(call_event); last_event = DateTime.Now; } }
/// <summary> /// Creates a table with the name, a auto increment column name_id, and a name column name_name /// </summary> /// <param name="name">Name of the table to create and fill</param> public MySQLDataTable(string name) { this.TableName = name; Init(); AddDefaultColumns(false); DsnSQLUtil.CreateDataTable(connection, this); Fill(); }
public void OpenSession(DateTime bingoday, int session_number, String session_name) { if (disable) { return; } // there is no constructor that I can have on this // and the initialized event, which is available is unaccessable. // but - we should be opening a session before anything else. LoadEvents(game_event_dsn); CloseSession(); DataRow[] event_id = session_events.Select("event_name='open'"); DsnSQLUtil.FillDataTable(game_event_dsn, session_tracking , "bingoday='" + DateTime.Now.ToString() + "' and session_number=" + session_number.ToString()); if (session_tracking.Rows.Count == 0) { DataRow tracking = session_tracking.NewRow(); tracking[session_tracking.session_tracking_idColumn] = DsnConnection.GetGUID(game_event_dsn); tracking[session_tracking.session_numberColumn] = session_number; tracking[session_tracking.bingodayColumn] = bingoday; tracking[session_tracking.session_nameColumn] = session_name; tracking[session_tracking.session_createdColumn] = DateTime.Now; session_tracking.Rows.Add(tracking); DsnSQLUtil.CommitChanges(game_event_dsn, session_tracking); session_tracking.AcceptChanges(); } else if (session_tracking.Rows.Count > 1) { Log.log("session tracking table is in violation, more than one per bingoday-session."); } { DataRow open_event = session_event_log.NewRow(); open_event[session_event_log.session_event_log_idColumn] = DsnConnection.GetGUID(game_event_dsn); open_event[session_event_log.session_tracking_idColumn] = session_tracking.Rows[0][session_tracking.session_tracking_idColumn]; open_event[session_event_log.session_event_idColumn] = event_id[0][session_events.session_event_idColumn]; open_event[session_event_log.session_event_timeColumn] = DateTime.Now; try { session_event_log.Rows.Add(open_event); } catch { } last_event = DateTime.Now; } stream_state_cache.Rows[0][stream_state_cache.session_tracking_idColumn] = session_tracking.Rows[0][session_tracking.session_tracking_idColumn]; DsnSQLUtil.CommitChanges(game_event_dsn, stream_state_cache); stream_state_cache.AcceptChanges(); }
private void FillSessions() { DateTime date = dateTimePicker1.Value; sessions.Rows.Clear(); //DsnSQLUtil.FillDataTable( StaticDsnConnection.dsn, sessions, "select session from player_track where bingoday=" + DsnSQLUtil.MakeDateOnly( StaticDsnConnection.dsn, date ) + " group by session", true ); DsnSQLUtil.FillDataTable(StaticDsnConnection.dsn, sessions, "select session from player_track where sesdate=" + DsnSQLUtil.MakeDateOnly(StaticDsnConnection.dsn, date) + " group by session", true); listBox1.SelectedIndex = listBox1.Items.Count - 1; }
/// <summary> /// Replaces the current connection with the passed connection, and invokes Fill. /// </summary> /// <param name="new_connection"></param> public void Reconnect(DsnConnection new_connection) { connection = new_connection; this.BeginLoadData(); Clear(); DsnSQLUtil.CreateDataTable(connection, this); Fill(); this.EndLoadData(); }
/// <summary> /// Creates a table with a prefix and a name, deault columns name_id and name_name /// </summary> /// <param name="prefix">Prefix to prepend to the table name (not column names)</param> /// <param name="name">Table name to create and fill</param> public MySQLDataTable(string prefix, string name) { this.TableName = name; this.Prefix = (prefix == null)?"":prefix; Init(); AddDefaultColumns(false); DsnSQLUtil.CreateDataTable(connection, this); Fill(); }
public Guid OpenGame(int game_number, int game_set, string game_name) { Guid result; if (disable) { return(Guid.Empty); } //LoadEvents( game_event_dsn ); CloseGame(); DataRow[] event_id = game_events.Select("event_name='open'"); while (last_event != DateTime.MinValue) { Thread.SpinWait(1); } foreach (DataRow row in game_tracking.Rows) { row.Delete(); } this.AcceptChanges(); //game_tracking.Rows.Clear(); DsnSQLUtil.FillDataTable(game_event_dsn, game_tracking , game_tracking.session_tracking_idColumn.ColumnName + "='" + stream_state_cache.Rows[0][stream_state_cache.session_tracking_idColumn] + "' and " + game_tracking.game_numberColumn + "=" + game_number.ToString()); if (game_tracking.Rows.Count == 0) { DataRow tracking = game_tracking.NewRow(); tracking[game_tracking.game_tracking_idColumn] = result = DsnConnection.GetGUID(game_event_dsn); tracking[game_tracking.game_numberColumn] = game_number; tracking[game_tracking.ballsetColumn] = game_set; tracking[game_tracking.session_tracking_idColumn] = stream_state_cache.Rows[0][stream_state_cache.session_tracking_idColumn]; tracking[game_tracking.game_nameColumn] = game_name; tracking[game_tracking.game_createdColumn] = DateTime.Now; game_tracking.Rows.Add(tracking); } else if (game_tracking.Rows.Count > 1) { Log.log("game tracking table is in violation, more than one per bingoday-game."); } { DataRow open_event = game_event_log.NewRow(); open_event[game_event_log.game_event_log_idColumn] = DsnConnection.GetGUID(game_event_dsn); open_event[game_event_log.game_tracking_idColumn] = game_tracking.Rows[0][game_tracking.game_tracking_idColumn]; result = (Guid)game_tracking.Rows[0][game_tracking.game_tracking_idColumn]; open_event[game_event_log.game_event_idColumn] = event_id[0][game_events.game_event_idColumn]; open_event[game_event_log.ballColumn] = 0; open_event[game_event_log.game_event_timeColumn] = DateTime.Now; game_event_log.Rows.Add(open_event); last_event = DateTime.Now; } stream_state_cache.Rows[0][stream_state_cache.game_tracking_idColumn] = game_tracking.Rows[0][game_tracking.game_tracking_idColumn]; return(result); }
public void ClearProcessed(DateTime day, int session) { DataRow[] result = games_processed.Select("bingoday=" + DsnSQLUtil.MakeDateOnly(DsnConnection.ConnectionMode.NativeDataTable, 0, day) + " and session=" + session); foreach (DataRow row in result) { row["processed"] = 0; } }
private void BonusPointConfigurator_Load(object sender, EventArgs e) { points = new BonusPointTable(); DsnSQLUtil.MatchCreate(StaticDsnConnection.dsn, points); DsnSQLUtil.FillDataTable(StaticDsnConnection.dsn, points); dataGridView1.DataSource = points; dataGridView1.Columns[0].Width = (this.dataGridView1.Width / 2) - 1; dataGridView1.Columns[1].Width = (this.dataGridView1.Width / 2) - 1; }
public MySQLNameTable(string prefix, string name, DsnConnection dsn) : base(dsn, prefix, name) { DataColumn dc = this.Columns.Add(XDataTable.Name(this), typeof(string)); dc.Unique = true; DsnSQLUtil.CreateDataTable(connection, this); Fill(); }
internal void FillToday(DateTime the_day, List <DateTime> selectedDates) { Rows.Clear(); //for( int idx = 0; idx < selectedDates.Count; idx++ ) { Fill("bingoday >= " + DsnSQLUtil.MakeDateOnly(connection, the_day) + " AND " + "bingoday <= " + DsnSQLUtil.MakeDateOnly(connection, selectedDates[selectedDates.Count - 1]), "session, game, created"); } }
public void Fill(DsnConnection dsn) { DsnSQLUtil.FillDataTable(dsn, name); //DsnSQLUtil.FillDataTable( dsn, map, map.option_idColumn.ColumnName + "=" + MySQLDataTable.GetSQLValue( dsn, map.option_idColumn, Guid.Empty ) ); //OptionMapDatasetTableAdapters.option2_nameTableAdapter da = new OptionMapDatasetTableAdapters.option2_nameTableAdapter(); //da.Fill( this.option2_name ); //this.option2_valuesTableAdapter.Fill( this.option2_map ); //OptionMapDatasetTableAdapters.option2_valuesTableAdapter da3 = new OptionMapDatasetTableAdapters.option2_valuesTableAdapter(); //da3.Fill( this.option2_values ); }
public MySQLNameTable(string prefix, string name, bool trim_info) : base(null, prefix, name, true, true) { DataColumn dc = this.Columns.Add(XDataTable.Name(this), typeof(string)); dc.Unique = true; DsnSQLUtil.CreateDataTable(connection, this); Fill(); }