예제 #1
0
        private void TreeComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            Guid treeId;
            List <EnhancementSlotModel> slotModels;

            if (e.ToString() != "")
            {
                treeId = EnhancementTreeModel.GetIdFromTreeName(TreeComboBox.SelectedItem.ToString());
                //Lets pull slot data for the tree Selected
                slotModels = EnhancementSlotModel.GetAll(treeId);

                if (CategoryComboBox.SelectedItem.ToString() == "Enhancement")
                {
                    SlotComboBox.Items.Clear();
                    foreach (EnhancementSlotModel model in slotModels)
                    {
                        SlotComboBox.Items.Add("Slot " + model.SlotIndex.ToString() + ": " + GetSlotName(model));
                    }
                    ApplyToComboBox.Items.Clear();
                }
                else
                {
                    ApplyToComboBox.Items.Clear();
                    foreach (EnhancementSlotModel model in slotModels)
                    {
                        ApplyToComboBox.Items.Add("Slot " + model.SlotIndex.ToString() + ": " + GetSlotName(model));
                    }
                }
                UpdateNameField();
            }
        }
        private void comboTree_SelectedIndexChanged(object sender, EventArgs e)
        {
            Guid treeId;
            List <EnhancementSlotModel> slotModels;

            if (e.ToString() != "")
            {
                treeId = EnhancementTreeModel.GetIdFromTreeName(comboTree.SelectedItem.ToString());

                slotModels = EnhancementSlotModel.GetAll(treeId);
                if (comboCategory.SelectedItem.ToString() == "Enhancement")
                {
                    comboSlot.Items.Clear();
                    foreach (EnhancementSlotModel model in slotModels)
                    {
                        comboSlot.Items.Add(BuildSlotName(model));
                    }
                    comboApplyTo.Items.Clear();
                }
                else
                {
                    comboApplyTo.Items.Clear();
                    foreach (EnhancementSlotModel model in slotModels)
                    {
                        comboApplyTo.Items.Add(BuildSlotName(model));
                    }
                }
            }
            buttonOk.Enabled = 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;
        }