private void PopulateData() { //Lets get our model records switch (MainScreen) { case ScreenType.DestinyRank: { //TODO: Add Destiny info once that system is setup break; } case ScreenType.EnhancementRank: { EnhancementRankModifierModels = EnhancementRankModifierModel.GetAll(MainRecordId); ModelRecordCount = EnhancementRankModifierModels.Count; break; } case ScreenType.Feat: { FeatModifierModels = FeatModifierModel.GetAll(MainRecordId); ModelRecordCount = FeatModifierModels.Count; break; } } //Lets set our tracking variables to false for (int i = 0; i < ModelRecordCount; i++) { RecordsChanged.Add(false); RecordsDeleted.Add(false); } }
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; }
private void CopyPreviousRank(int previousRank) { List <EnhancementRankRequirementModel> newRankRequirements; List <EnhancementRankModifierModel> newRankModifiers; List <EnhancementRankRequirementModel> deleteRankRequirements; List <EnhancementRankModifierModel> deleteRankModifiers; newRankRequirements = new List <EnhancementRankRequirementModel>(); newRankModifiers = new List <EnhancementRankModifierModel>(); deleteRankRequirements = new List <EnhancementRankRequirementModel>(); deleteRankModifiers = new List <EnhancementRankModifierModel>(); //We need to save any changes to the enhancement record before doing any copying. if (HasDataChanged() == true) { SaveSlotRecord(); SaveRecord(); } //Lets delete the records for the current rank requirements and modifiers. deleteRankRequirements = EnhancementRankRequirementModel.GetAll(RankModels[EnhancementIndexLoaded][previousRank].Id); foreach (EnhancementRankRequirementModel deleteRequirement in deleteRankRequirements) { deleteRequirement.Delete(); } deleteRankModifiers = EnhancementRankModifierModel.GetAll(RankModels[EnhancementIndexLoaded][previousRank].Id); foreach (EnhancementRankModifierModel deleteModifier in deleteRankModifiers) { deleteModifier.Delete(); } //Lets make a copy of the previous rank requirements and modifiers now and save them to the database. newRankRequirements = EnhancementRankRequirementModel.GetAll(RankModels[EnhancementIndexLoaded][previousRank - 1].Id); foreach (EnhancementRankRequirementModel rankRequirement in newRankRequirements) { rankRequirement.ConvertToNewRecord(); rankRequirement.EnhancementRankId = RankModels[EnhancementIndexLoaded][previousRank].Id; rankRequirement.Save(); } newRankModifiers = EnhancementRankModifierModel.GetAll(RankModels[EnhancementIndexLoaded][previousRank - 1].Id); foreach (EnhancementRankModifierModel rankModifier in newRankModifiers) { rankModifier.ConvertToNewRecord(); rankModifier.EnhancementRankId = RankModels[EnhancementIndexLoaded][previousRank].Id; rankModifier.Save(); } //Ok, now that new records are saved, lets Update the screen with the changes and also update the Description boxes. switch (previousRank) { case 1: { RankRequirementsRP2.Clear(); RankRequirementsRP2.RecordId = RankModels[EnhancementIndexLoaded][previousRank].Id; RankRequirementsRP2.Initialize(); RankModifiersMP2.Clear(); RankModifiersMP2.RecordId = RankModels[EnhancementIndexLoaded][previousRank].Id; RankModifiersMP2.Initialize(); RankModels[EnhancementIconListControl.SelectedIndex][1].Description = RankDescriptionHE1.Text; RankDescriptionHE2.Text = RankDescriptionHE1.Text; EnhancementRecordChanged = true; break; } case 2: { RankRequirementsRP3.Clear(); RankRequirementsRP3.RecordId = RankModels[EnhancementIndexLoaded][previousRank].Id; RankRequirementsRP3.Initialize(); RankModifiersMP3.Clear(); RankModifiersMP3.RecordId = RankModels[EnhancementIndexLoaded][previousRank].Id; RankModifiersMP3.Initialize(); RankModels[EnhancementIconListControl.SelectedIndex][2].Description = RankDescriptionHE2.Text; RankDescriptionHE3.Text = RankDescriptionHE2.Text; EnhancementRecordChanged = true; break; } } //lets save the enhancement record again to make sure changes hold. this may be redundant but it doesn't hurt :) SaveRecord(); }