private void GatherData() { //Enhancment Slot Data SlotModel = new EnhancementSlotModel(); SlotModel.Initialize(SlotId); //Enhancement Data EnhancementModels = EnhancementModel.GetAll(SlotId); if (EnhancementModels.Count == 0) { //we need to add an enhancement as one was never assigned and all slots should have at least 1 enhancement. AddEnhancementModel(); } //Enhancement Rank Data RankModels = new List <List <EnhancementRankModel> >(); foreach (EnhancementModel model in EnhancementModels) { List <EnhancementRankModel> sublist = new List <EnhancementRankModel>(); sublist = EnhancementRankModel.GetAll(model.Id); RankModels.Add(sublist); if (RankModels[RankModels.Count - 1].Count == 0) { AddRankModel(RankModels.Count - 1); } } }
private void AddRankModel(int enhancementIndex) { EnhancementRankModel tempRankModel; int rankCount; if (RankModels.Count >= enhancementIndex) { rankCount = 0; } else { rankCount = RankModels[enhancementIndex].Count; } tempRankModel = new EnhancementRankModel(); tempRankModel.EnhancementId = EnhancementModels[enhancementIndex].Id; tempRankModel.Description = "Enter description here"; tempRankModel.Rank = (byte)(rankCount + 1); if (RankModels.Count == enhancementIndex) { List <EnhancementRankModel> sublist = new List <EnhancementRankModel>(); sublist.Add(tempRankModel); RankModels.Add(sublist); } else { RankModels[enhancementIndex].Add(tempRankModel); } }
private void buttonDuplicateRecord_Click(object sender, EventArgs e) { string selection; EnhancementTreeModel newTreeModel = new EnhancementTreeModel(); List <EnhancementTreeRequirementModel> newTreeRequirementModels = new List <EnhancementTreeRequirementModel>(); List <EnhancementSlotModel> newSlotModels = new List <EnhancementSlotModel>(); List <EnhancementModel> newEnhancementModels = new List <EnhancementModel>(); List <EnhancementRankModel> newEnhancementRankModels = new List <EnhancementRankModel>(); List <EnhancementRankModifierModel> newEnhancementRankModifierModels = new List <EnhancementRankModifierModel>(); List <EnhancementRankRequirementModel> newEnhancementRankRequirementModels = new List <EnhancementRankRequirementModel>(); Guid oldSlotId; Guid oldEnhancementId; Guid oldRankId; Guid oldModifierId; Guid oldRequirementId; //Copy the Tree Model First newTreeModel.Initialize(TreeModel.Id); newTreeModel.ConvertToNewRecord(); newTreeModel.Name = TreeModel.Name + "Duplicate"; newTreeModel.Save(); //Copy the Tree Requirement Models newTreeRequirementModels = EnhancementTreeRequirementModel.GetAll(TreeModel.Id); foreach (EnhancementTreeRequirementModel etrm in newTreeRequirementModels) { etrm.ConvertToNewRecord(); etrm.EnhancementTreeId = newTreeModel.Id; etrm.Save(); } //Copy the Slot Models newSlotModels = EnhancementSlotModel.GetAll(TreeModel.Id); foreach (EnhancementSlotModel slot in newSlotModels) { oldSlotId = slot.Id; slot.ConvertToNewRecord(); slot.EnhancementTreeId = newTreeModel.Id; slot.Save(); //Copy the Enhancements for this Slot Model. newEnhancementModels = EnhancementModel.GetAll(oldSlotId); foreach (EnhancementModel em in newEnhancementModels) { oldEnhancementId = em.Id; em.ConvertToNewRecord(); em.EnhancementSlotId = slot.Id; em.Save(); //Copy the Enhancement Ranks for this Enhancement. newEnhancementRankModels = EnhancementRankModel.GetAll(oldEnhancementId); foreach (EnhancementRankModel erm in newEnhancementRankModels) { oldRankId = erm.Id; erm.ConvertToNewRecord(); erm.EnhancementId = em.Id; erm.Save(); //Copy the Enhancement Rank Modifier Models newEnhancementRankModifierModels = EnhancementRankModifierModel.GetAll(oldRankId); foreach (EnhancementRankModifierModel ermm in newEnhancementRankModifierModels) { oldModifierId = ermm.Id; ermm.ConvertToNewRecord(); ermm.EnhancementRankId = erm.Id; ermm.Save(); } //Copy the Enhancement Rank Requirement Models newEnhancementRankRequirementModels = EnhancementRankRequirementModel.GetAll(oldRankId); foreach (EnhancementRankRequirementModel errm in newEnhancementRankRequirementModels) { oldRequirementId = errm.Id; errm.ConvertToNewRecord(); errm.EnhancementRankId = erm.Id; errm.Save(); } } } } //Now lets update our screen with the new record selection = newTreeModel.Name; EnhancementTreeListBox.Items.Clear(); PopulateEnhancementTreeListBox(); //AllowChangeEvents = false; EnhancementTreeListBox.SelectedItem = selection; //AllowChangeEvents = true; //Now we can reset our flags RecordChanged = false; NewRecord = false; }