//Populates the dropdown list with the encounters private void populateEncounterDropdown() { EncountersTable encounterTable = new EncountersTable(new DatabaseConnection()); DataSet data = encounterTable.getEncounters(game.GameID); //Call to database encounterDropDownList.DataSource = data; encounterDropDownList.DataTextField = "encounterName"; encounterDropDownList.DataValueField = "encounterID"; encounterDropDownList.DataBind(); encounterDropDownList.Items.Insert(0, new ListItem("<Select Encounter>", "0")); }
//Clears the server information, removes encounter and its monsters from the db, Response.Redirect back to same page to clear postback changes protected void deleteButton_Click(object sender, EventArgs e) { if (encounter.EncounterID != 0) { //Delete encounter information from database MonstersTable monstersTable = new MonstersTable(new DatabaseConnection()); monstersTable.deleteEncounterMonsters(encounter.EncounterID); EncountersTable encountersTable = new EncountersTable(new DatabaseConnection()); encountersTable.deleteEncounter(encounter.EncounterID); //Clear Content from Session Variable Session.Remove("savedContent"); } //Reload page to clear any nonsense before loading Session["message"] = new Message("Encounter Deleted!", System.Drawing.Color.Green); Response.Redirect("EncounterTool"); }
protected void loadButton_Click(object sender, EventArgs e) { Int32.TryParse(encounterDropDownList.SelectedValue, out int encounterID); //use this to make an encounter and save to session variable EncountersTable encounterTable = new EncountersTable(new DatabaseConnection()); encounter = encounterTable.getEncounter(encounterID); MonstersTable monsterTable = new MonstersTable(new DatabaseConnection()); List <Monster> encounterMonsters = monsterTable.getEncounterMonsters(encounterID); encounter.Entities = new Dictionary <Entity, Color>(); //Add to entities dictionary foreach (Monster monster in encounterMonsters) { Color color; if (monster.IsFriendly) { color = Color.LightGreen; } else { color = Color.LightSalmon; } encounter.Entities.Add(monster, color); } //Load party loadParty(); //Save to savedContent Session["savedContent"] = encounter; Session["message"] = new Message("Encounter Loaded!", System.Drawing.Color.Green); //Reload page to clear any nonsense before loading Response.Redirect("EncounterTool"); }
//Saves entities to the db protected void saveButton_Click(object sender, EventArgs e) { MonstersTable monstersTable = new MonstersTable(new DatabaseConnection()); combatTable.saveContentChanges(); encounter.Entities = combatTable.getContent(); Session["savedContent"] = encounter; //Fresh Encounter, needs creation first if (encounter.EncounterID == 0) { EncountersTable encountersTable = new EncountersTable(new DatabaseConnection()); encounter.EncounterName = hiddenEncounterName.Value; //Get name from js prompt. int encounterID = encountersTable.insertEncounter(encounter); //Make encounter in db and return id if (encounterID > 0) { encounter.EncounterID = encounterID; //If valid id, set encounterID } Session["savedContent"] = encounter; } //Foreach tableRow if its a monster, do the applicable database command (update/insert/delete) to mirror what the user has done in the table. foreach (ObjectTableRow objRow in combatTable.ObjectRows) { //Only care about Monsters if (objRow.Obj.GetType() == typeof(Monster)) { Monster monster = (Monster)objRow.Obj; if (objRow.Visible == false) { if (monster.MonsterID != 0) { monstersTable.deleteMonster(monster); //delete monster } encounter.Entities.Remove(monster); } else if (objRow.Visible == true && monster.MonsterID != 0) { monstersTable.updateMonster(monster); //update monster } else if (objRow.Visible == true && monster.MonsterID == 0) //create monster { if (monster.Encounter.EncounterID == 0) { monster.Encounter = encounter; } int monsterID = monstersTable.insertMonster(monster); if (monsterID > 0) { monster.MonsterID = monsterID; } monster.EntityID = monstersTable.getMonsterEntityID(monster.MonsterID); } } } //Save to savedContent w/ new IDs Session["savedContent"] = encounter; Session["message"] = new Message("Encounter Saved!", System.Drawing.Color.Green); //Reload page to clear any nonsense before loading Response.Redirect("EncounterTool"); }