Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
        }
Пример #4
0
        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();
        }
Пример #5
0
 //OptionMapDatasetTableAdapters.option2_mapTableAdapter map_adapter = new OptionMapDatasetTableAdapters.option2_mapTableAdapter();
 public DataRow[] LoadMore(DsnConnection dsn, object uid)
 {
     DataRow[] rows;
     DsnSQLUtil.FillDataTable(dsn, map, map.parent_option_idColumn.ColumnName + "=" + DsnSQLUtil.GetSQLValue(dsn, map.option_idColumn, uid));
     if (DsnSQLUtil.Compare(typeof(Guid), uid, Guid.Empty))
     {
         rows = map.Select(map.option_idColumn.ColumnName + "='" + uid.ToString() + "'");
         if (rows.Length == 0)
         {
             CreateOption(dsn, uid, uid, name.GetNameID(dsn, "."));
         }
         rows = map.Select(map.parent_option_idColumn.ColumnName + "='" + uid.ToString() + "'and " + map.option_idColumn.ColumnName + "<>'" + uid.ToString() + "'");
     }
     else
     {
         rows = map.Select(map.parent_option_idColumn.ColumnName + "='" + uid.ToString() + "'");
     }
     return(rows);
 }
Пример #6
0
        void ScheduleDesigner_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (schedule.HasChanges())
            {
                String        pending_changes = "";
                bool          real_changes    = false;
                DataSet       ds     = schedule.GetChanges();
                StringBuilder detail = new StringBuilder();
                foreach (DataTable table in ds.Tables)
                {
                    foreach (Attribute attr in table.GetType().GetCustomAttributes(true))
                    {
                        SchedulePersistantTable persist = attr as SchedulePersistantTable;
                        if (null != persist)
                        {
                            if (table.Rows.Count > 0)
                            {
                                pending_changes += table.TableName + "(" + table.Rows.Count + ")\n";
                                detail.Append("Table ");
                                detail.Append(table.TableName);
                                detail.Append(" has ");
                                detail.Append(table.Rows.Count.ToString());
                                detail.Append(" Changes...\n");

                                foreach (DataRow row in table.Rows)
                                {
                                    bool added_row_header = false;
                                    bool first            = true;
                                    if (row.RowState == DataRowState.Deleted)
                                    {
                                        detail.Append("Row " + table.Rows.IndexOf(row) + " : ");
                                        detail.Append("(deleted)\n");
                                        real_changes = true;
                                        continue;
                                    }
                                    if (row.RowState == DataRowState.Added)
                                    {
                                        detail.Append("Row " + table.Rows.IndexOf(row) + " : ");
                                        detail.Append("(new)");
                                        real_changes = true;
                                    }

                                    foreach (DataColumn col in table.Columns)
                                    {
                                        if (row.RowState == DataRowState.Added)
                                        {
                                            if (!added_row_header)
                                            {
                                                detail.Append("Row " + table.Rows.IndexOf(row) + " : ");
                                                added_row_header = true;
                                            }
                                            if (!first)
                                            {
                                                detail.Append(", ");
                                            }
                                            first = false;
                                            detail.Append(col.ColumnName + "=" + row[col].ToString());
                                            continue;
                                        }
                                        object a;
                                        object b;
                                        if (!DsnSQLUtil.Compare(col.DataType, a = row[col, DataRowVersion.Original], b = row[col, DataRowVersion.Current]))
                                        {
                                            if (!added_row_header)
                                            {
                                                detail.Append("Row " + table.Rows.IndexOf(row) + " : ");
                                                added_row_header = true;
                                            }
                                            if (!first)
                                            {
                                                detail.Append(" and ");
                                            }
                                            first = false;
                                            detail.Append(col.ColumnName + "changed from [" + a.ToString() + "] to [" + b.ToString() + "]");
                                            real_changes = true;
                                        }
                                    }
                                    if (added_row_header)
                                    {
                                        detail.Append("\n");
                                    }
                                }
                                detail.Append("\n===============================================\n");
                            }
                        }
                    }
                }
                if (real_changes)
                {
                    DialogResult r;
                    if ((r = MessageBox.Show("There are unsaved changes to the schedule.\nDo you want to save now?\nCancel will show details." + pending_changes, "Unsaved Changes", MessageBoxButtons.YesNoCancel)) == System.Windows.Forms.DialogResult.Yes)
                    {
                        schedule.Commit();
                    }
                    if (r == System.Windows.Forms.DialogResult.Cancel)
                    {
                        detail.Append("\nYes will save these changes, no will not commit.");
                        if (ScrollableMessageBox.Show(detail.ToString(), "Unsaved Changes", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                        {
                            schedule.Commit();
                        }
                    }
                }
            }
        }