public BingoDealer GetRangeDealer(int start_card) { while (true) { { foreach (BingoDealer dealer in dealers) { if (dealer.real_min_range <= start_card && dealer.real_max_range >= start_card) { return(dealer); } } } if (schedule_row != null) { MessageBox.Show("Could not find range for pack: " + name + " start card:" + start_card); OpenSkieScheduler3.Controls.Forms.PackEditor pe = new OpenSkieScheduler3.Controls.Forms.PackEditor(schedule_row); pe.ShowDialog(); pe.Dispose(); // need to do something like... //ReloadDealers(); throw new Exception("Could not find range for pack: " + name + " start card:" + start_card); } else { throw new Exception("Could not find range for pack: " + name + " start card:" + start_card); } } return(null); }
/// <summary> /// Search for a pack already created by said name, if it doesn't exist, create a BingoPack as defined by PackTable Row. /// </summary> /// <param name="dataRow">a DataRow from PackTable</param> /// <returns></returns> public BingoPack MakePack(BingoGameGroup game_group, DataRow dataRow) { foreach (BingoPack pack in pack_skel) { if (String.Compare(pack.name, dataRow[PackTable.NameColumn].ToString(), true) == 0 && pack.game_groups.Contains(game_group)) { return(pack); } } foreach (BingoPack pack in pack_skel) { // found the pack, but it's not in this game group, so it's not really a pack. if (String.Compare(pack.name, dataRow[PackTable.NameColumn].ToString(), true) == 0) { return(pack); } } BingoPack newpack = new BingoPack(game_group, dataRow); if (dataRow != null) { DataRow[] ranges = dataRow.GetChildRows("pack_has_cardset_range"); if (ranges.Length == 0) { MessageBox.Show("Pack " + dataRow[PackTable.NameColumn] + " does not have any cardset ranges..."); OpenSkieScheduler3.Controls.Forms.PackEditor pe = new OpenSkieScheduler3.Controls.Forms.PackEditor(dataRow); pe.ShowDialog(); pe.Dispose(); ranges = dataRow.GetChildRows("pack_has_cardset_range"); } if (ranges != null && ranges.Length > 0) { foreach (DataRow cardset_range in ranges) { DataRow range = cardset_range.GetParentRow("cardset_range_in_pack"); newpack.dealers.Add(BingoDealers.GetDealer(range)); } } this.pack_skel.Add(newpack); newpack.pack_type = this.pack_skel.IndexOf(newpack); game_group.packs.Add(newpack); } return(newpack); }
public PlayerPack[] GetPlayerPacks(string packnam, String range) { List <PlayerPack> packs = new List <PlayerPack>(); //retry: foreach (BingoPack pack in pack_skel) { if (String.Compare(pack.name, packnam, true) == 0) { BingoPack real_pack = pack.GetRangePack(range); PlayerPack newpack = new PlayerPack(); newpack.pack_info = real_pack; if (packs.Count == 0) { newpack.start_card = newpack.pack_info.AutoDeal(); } else { newpack.start_card = packs[0].start_card; } packs.Add(newpack); } } if (packs.Count == 0) { if (MessageBox.Show("Pack " + packnam + " does not exist - add to schedule?", "Configure Pack?", MessageBoxButtons.YesNo) == DialogResult.Yes) { DataRow row = schedule.packs.NewPack(packnam); //OpenSkieScheduler.Controls.ControlList.schedule = schedule; OpenSkieScheduler3.Controls.Forms.PackEditor pe = new OpenSkieScheduler3.Controls.Forms.PackEditor(row); pe.ShowDialog(); //MakePack( game_group, row ); //goto retry; return(null); // MakePack( game_group, row ); } } return(packs.ToArray()); }
public BingoPack GetPack(String packnam) { foreach (BingoPack pack in this) { if (String.Compare(pack.name, packnam, true) == 0) { pack.new_pack = false; return(pack); } } foreach (BingoPack pack in pack_skel) { if (String.Compare(pack.name, packnam, true) == 0) { //BingoPack real_pack = pack.GetRangePack( start_card ); //real_pack.new_pack = false; return(pack); } } if (MessageBox.Show("Pack " + packnam + " does not exist - add to schedule?", "Configure Pack?", MessageBoxButtons.YesNo) == DialogResult.Yes) { DataRow row = schedule.packs.NewPack(packnam); //OpenSkieScheduler.Controls.ControlList.schedule = schedule; OpenSkieScheduler3.Controls.Forms.PackEditor pe = new OpenSkieScheduler3.Controls.Forms.PackEditor(row); pe.ShowDialog(); } { BingoPack newpack = new BingoPack(); newpack.game_list = game_list; newpack.name = packnam; newpack.new_pack = true; this.Add(newpack); return(newpack); } }