private void saveToDatabaseToolStripMenuItem_Click(object sender, EventArgs e) { int stepNum = int.Parse(stepNumber.Text); int optNum = int.Parse(optNumber.Text); int finNum = int.Parse(finNumber.Text); if (!steptype_dictionary.ContainsKey(stepNum)) //Adds step data to the dictionary on last step if the forward/back button has not been pressed yet { advtext_dictionary.Remove(stepNum); advtext_dictionary.Add(stepNum, advanceText.Text); colitem_dictionary.Remove(stepNum); colitem_dictionary.Add(stepNum, collectItem.Text); money_dictionary.Remove(stepNum); money_dictionary.Add(stepNum, rewardMoney.Text); xp_dictionary.Remove(stepNum); xp_dictionary.Add(stepNum, rewardXp.Text); clxp_dictionary.Remove(stepNum); clxp_dictionary.Add(stepNum, rewardCLXp.Text); rp_dictionary.Remove(stepNum); rp_dictionary.Add(stepNum, rewardRp.Text); bp_dictionary.Remove(stepNum); bp_dictionary.Add(stepNum, rewardBp.Text); srctext_dictionary.Remove(stepNum); srctext_dictionary.Add(stepNum, sourceText.Text); stepitem_dictionary.Remove(stepNum); stepitem_dictionary.Add(stepNum, stepItem.Text); steptext_dictionary.Remove(stepNum); steptext_dictionary.Add(stepNum, stepText.Text); trgtname_dictionary.Remove(stepNum); trgtname_dictionary.Add(stepNum, targetName.Text); trgttext_dictionary.Remove(stepNum); trgttext_dictionary.Add(stepNum, targetText.Text); steptype_dictionary.Remove(stepNum); steptype_dictionary.Add(stepNum, eStepType.Text); } if (!opt_dictionary.ContainsKey(optNum)) { opt_dictionary.Remove(stepNum); opt_dictionary.Add(stepNum, getOpt.Text); } if (!fin_dictionary.ContainsKey(finNum)) { fin_dictionary.Remove(stepNum); fin_dictionary.Add(stepNum, getFin.Text); } try { #region String conversions string opt = String.Join("|", Array.ConvertAll(opt_dictionary.Values.ToArray(), i => i.ToString())); string fin = String.Join("|", Array.ConvertAll(fin_dictionary.Values.ToArray(), i => i.ToString())); string adv = String.Join("|", Array.ConvertAll(advtext_dictionary.Values.ToArray(), i => i.ToString())); string col = String.Join("|", Array.ConvertAll(colitem_dictionary.Values.ToArray(), i => i.ToString())); string mon = String.Join("|", Array.ConvertAll(money_dictionary.Values.ToArray(), i => i.ToString())); string exp = String.Join("|", Array.ConvertAll(xp_dictionary.Values.ToArray(), i => i.ToString())); string cxp = String.Join("|", Array.ConvertAll(clxp_dictionary.Values.ToArray(), i => i.ToString())); string rxp = String.Join("|", Array.ConvertAll(rp_dictionary.Values.ToArray(), i => i.ToString())); string bxp = String.Join("|", Array.ConvertAll(bp_dictionary.Values.ToArray(), i => i.ToString())); string srctx = String.Join("|", Array.ConvertAll(srctext_dictionary.Values.ToArray(), i => i.ToString())); string stpit = String.Join("|", Array.ConvertAll(stepitem_dictionary.Values.ToArray(), i => i.ToString())); string stptx = String.Join("|", Array.ConvertAll(steptext_dictionary.Values.ToArray(), i => i.ToString())); string trgnm = String.Join("|", Array.ConvertAll(trgtname_dictionary.Values.ToArray(), i => i.ToString())); string trgtx = String.Join("|", Array.ConvertAll(trgttext_dictionary.Values.ToArray(), i => i.ToString())); string stptp = String.Join("|", Array.ConvertAll(steptype_dictionary.Values.ToArray(), i => i.ToString())); string acl = String.Join("|", allowedClasses.SelectedItems.Cast <object>().Select(i => i.ToString())); //eStepType string replace values: StringBuilder stype = new StringBuilder(stptp); stype.Replace("Kill", "0"); stype.Replace("killFinish", "1"); stype.Replace("Deliver", "2"); stype.Replace("deliverFinish", "3"); stype.Replace("Interact", "4"); stype.Replace("interactFinish", "5"); stype.Replace("Whisper", "6"); stype.Replace("whisperFinish", "7"); stype.Replace("Search", "8"); stype.Replace("searchFinish", "9"); stype.Replace("Collect", "10"); stype.Replace("collectFinish", "11"); string steptp = stype.ToString(); StringBuilder allcl = new StringBuilder(acl); allcl.Replace("Armsman", "2"); allcl.Replace("Cabalist", "13"); allcl.Replace("Cleric", "6"); allcl.Replace("Friar", "10"); allcl.Replace("Heretic", "33"); allcl.Replace("Infiltrator", "9"); allcl.Replace("Mercenary", "11"); allcl.Replace("Minstrel", "4"); allcl.Replace("Necromancer", "12"); allcl.Replace("Paladin", "1"); allcl.Replace("Reaver", "19"); allcl.Replace("Scout", "3"); allcl.Replace("Sorcerer", "8"); allcl.Replace("Theurgist", "5"); allcl.Replace("Wizard", "7"); allcl.Replace("MaulerAlb", "60"); allcl.Replace("Berserker", "31"); allcl.Replace("Bonedancer", "30"); allcl.Replace("Healer", "36"); allcl.Replace("Hunter", "35"); allcl.Replace("Runemaster", "29"); allcl.Replace("Savage", "32"); allcl.Replace("Shadowblade", "23"); allcl.Replace("Shaman", "28"); allcl.Replace("Skald", "24"); allcl.Replace("Spiritmaster", "27"); allcl.Replace("Thane", "21"); allcl.Replace("Valkyrie", "34"); allcl.Replace("Warlock", "59"); allcl.Replace("Warrior", "22"); allcl.Replace("MaulerMid", "61"); allcl.Replace("Animist", "55"); allcl.Replace("Bainshee", "39"); allcl.Replace("Bard", "48"); allcl.Replace("Blademaster", "43"); allcl.Replace("Champion", "45"); allcl.Replace("Druid", "47"); allcl.Replace("Eldritch", "40"); allcl.Replace("Enchanter", "41"); allcl.Replace("Hero", "44"); allcl.Replace("Mentalist", "42"); allcl.Replace("Nightshade", "49"); allcl.Replace("Ranger", "50"); allcl.Replace("Valewalker", "56"); allcl.Replace("Vampiir", "58"); allcl.Replace("Warden", "46"); allcl.Replace("MaulerHib", "62"); string aclts = allcl.ToString(); #endregion DatabaseManager.SetDatabaseConnection(Settings.Default.Hostname, Settings.Default.Port, Settings.Default.Database, Settings.Default.Username, Settings.Default.Password); DBDataQuest q = new DBDataQuest(); q.ID = int.Parse(questID.Text); q.Name = questName.Text; q.StartType = (byte)(eStartType.SelectedIndex); q.StartName = startNPCName.Text; q.StartRegionID = ushort.Parse(questNPCRegionID.Text); q.AcceptText = acceptText.Text; q.Description = description.Text; q.SourceText = srctx; //serialized q.StepType = steptp; //serialized q.StepText = stptx; //serialized q.StepItemTemplates = stpit; //serialized q.AdvanceText = adv; //serialized q.TargetName = trgnm; //serialized q.TargetText = trgtx; //serialized q.CollectItemTemplate = col; //serialized q.MaxCount = byte.Parse(maxCount.Text); q.MinLevel = byte.Parse(questMinLevel.Text); q.MaxLevel = byte.Parse(questMaxLevel.Text); q.RewardMoney = mon; //serialized q.RewardXP = exp; //serialized q.RewardCLXP = cxp; //serialized q.RewardRP = rxp; //serialized q.RewardBP = bxp; //serialized q.OptionalRewardItemTemplates = opt; q.FinalRewardItemTemplates = fin; q.FinishText = finishText.Text; q.QuestDependency = questDependency.Text; //might need to serialize....if quest has multiple dependencies q.AllowedClasses = aclts; //serialized q.ClassType = questClassType.Text; DatabaseManager.Database.AddObject(q); MessageBox.Show("Quest added to the database!"); } catch (Exception g) { MessageBox.Show(g.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void saveToDatabaseToolStripMenuItem_Click(object sender, EventArgs e) { int stepNum = int.Parse(stepNumber.Text); int optNum = int.Parse(optNumber.Text); int finNum = int.Parse(finNumber.Text); if (!steptype_dictionary.ContainsKey(stepNum)) //Adds step data to the dictionary on last step if the forward/back button has not been pressed yet { advtext_dictionary.Remove(stepNum); advtext_dictionary.Add(stepNum, advanceText.Text); colitem_dictionary.Remove(stepNum); colitem_dictionary.Add(stepNum, collectItem.Text); money_dictionary.Remove(stepNum); money_dictionary.Add(stepNum, rewardMoney.Text); xp_dictionary.Remove(stepNum); xp_dictionary.Add(stepNum, rewardXp.Text); clxp_dictionary.Remove(stepNum); clxp_dictionary.Add(stepNum, rewardCLXp.Text); rp_dictionary.Remove(stepNum); rp_dictionary.Add(stepNum, rewardRp.Text); bp_dictionary.Remove(stepNum); bp_dictionary.Add(stepNum, rewardBp.Text); srctext_dictionary.Remove(stepNum); srctext_dictionary.Add(stepNum, sourceText.Text); stepitem_dictionary.Remove(stepNum); stepitem_dictionary.Add(stepNum, stepItem.Text); steptext_dictionary.Remove(stepNum); steptext_dictionary.Add(stepNum, stepText.Text); trgtname_dictionary.Remove(stepNum); trgtname_dictionary.Add(stepNum, targetName.Text); trgttext_dictionary.Remove(stepNum); trgttext_dictionary.Add(stepNum, targetText.Text); steptype_dictionary.Remove(stepNum); steptype_dictionary.Add(stepNum, eStepType.Text); } if (!opt_dictionary.ContainsKey(optNum)) { opt_dictionary.Remove(stepNum); opt_dictionary.Add(stepNum, getOpt.Text); } if (!fin_dictionary.ContainsKey(finNum)) { fin_dictionary.Remove(stepNum); fin_dictionary.Add(stepNum, getFin.Text); } try { #region String conversions string opt = String.Join("|", Array.ConvertAll(opt_dictionary.Values.ToArray(), i => i.ToString())); string fin = String.Join("|", Array.ConvertAll(fin_dictionary.Values.ToArray(), i => i.ToString())); string adv = String.Join("|", Array.ConvertAll(advtext_dictionary.Values.ToArray(), i => i.ToString())); string col = String.Join("|", Array.ConvertAll(colitem_dictionary.Values.ToArray(), i => i.ToString())); string mon = String.Join("|", Array.ConvertAll(money_dictionary.Values.ToArray(), i => i.ToString())); string exp = String.Join("|", Array.ConvertAll(xp_dictionary.Values.ToArray(), i => i.ToString())); string cxp = String.Join("|", Array.ConvertAll(clxp_dictionary.Values.ToArray(), i => i.ToString())); string rxp = String.Join("|", Array.ConvertAll(rp_dictionary.Values.ToArray(), i => i.ToString())); string bxp = String.Join("|", Array.ConvertAll(bp_dictionary.Values.ToArray(), i => i.ToString())); string srctx = String.Join("|", Array.ConvertAll(srctext_dictionary.Values.ToArray(), i => i.ToString())); string stpit = String.Join("|", Array.ConvertAll(stepitem_dictionary.Values.ToArray(), i => i.ToString())); string stptx = String.Join("|", Array.ConvertAll(steptext_dictionary.Values.ToArray(), i => i.ToString())); string trgnm = String.Join("|", Array.ConvertAll(trgtname_dictionary.Values.ToArray(), i => i.ToString())); string trgtx = String.Join("|", Array.ConvertAll(trgttext_dictionary.Values.ToArray(), i => i.ToString())); string stptp = String.Join("|", Array.ConvertAll(steptype_dictionary.Values.ToArray(), i => i.ToString())); //eStepType string replace values: StringBuilder stype = new StringBuilder(stptp); stype.Replace("Kill", "0"); stype.Replace("killFinish", "1"); stype.Replace("Deliver", "2"); stype.Replace("deliverFinish", "3"); stype.Replace("Interact", "4"); stype.Replace("interactFinish", "5"); stype.Replace("Whisper", "6"); stype.Replace("whisperFinish", "7"); stype.Replace("Search", "8"); stype.Replace("searchFinish", "9"); stype.Replace("Collect", "10"); stype.Replace("collectFinish", "11"); string steptp = stype.ToString(); #endregion DatabaseManager.SetDatabaseConnection(Settings.Default.Hostname, Settings.Default.Port, Settings.Default.Database, Settings.Default.Username, Settings.Default.Password); DBDataQuest q = new DBDataQuest(); q.ID = int.Parse(questID.Text); q.Name = questName.Text; q.StartType = (byte)(eStartType.SelectedIndex); q.StartName = startNPCName.Text; q.StartRegionID = ushort.Parse(questNPCRegionID.Text); q.AcceptText = acceptText.Text; q.Description = description.Text; q.SourceText = srctx; //serialized q.StepType = steptp; //serialized q.StepText = stptx; //serialized q.StepItemTemplates = stpit; //serialized q.AdvanceText = adv; //serialized q.TargetName = trgnm; //serialized q.TargetText = trgtx; //serialized q.CollectItemTemplate = col; //serialized q.MaxCount = byte.Parse(maxCount.Text); q.MinLevel = byte.Parse(questMinLevel.Text); q.MaxLevel = byte.Parse(questMaxLevel.Text); q.RewardMoney = mon; //serialized q.RewardXP = exp; //serialized q.RewardCLXP = cxp; //serialized q.RewardRP = rxp; //serialized q.RewardBP = bxp; //serialized q.OptionalRewardItemTemplates = opt; q.FinalRewardItemTemplates = fin; q.FinishText = finishText.Text; q.QuestDependency = questDependency.Text; //might need to serialize....if quest has multiple dependencies q.AllowedClasses = allowedClasses.Text; q.ClassType = questClassType.Text; DatabaseManager.Database.AddObject(q); MessageBox.Show("Quest added to the database!"); } catch (Exception g) { MessageBox.Show(g.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }