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 string GetTreeName(Guid requirementId)
        {
            string               treeName = "";
            RequirementModel     reqModel;
            string               tableName = "";
            EnhancementSlotModel slotModel;
            EnhancementModel     enhModel;

            reqModel  = GetRequirementModel(requirementId);
            tableName = TableNamesModel.GetTableNameFromId(reqModel.TableNamesId);
            slotModel = new EnhancementSlotModel();

            if (tableName == "EnhancementSlot")
            {
                slotModel.Initialize(reqModel.ApplytoId);
                treeName = EnhancementTreeModel.GetNameFromId(slotModel.EnhancementTreeId);
            }

            if (tableName == "Enhancement")
            {
                enhModel = new EnhancementModel();
                enhModel.Initialize(reqModel.ApplytoId);
                slotModel.Initialize(enhModel.EnhancementSlotId);
                treeName = EnhancementTreeModel.GetNameFromId(slotModel.EnhancementTreeId);
            }

            return(treeName);
        }
        private EnhancementSlotModel GetSlotModel(Guid requirementId)
        {
            EnhancementSlotModel slotModel;
            EnhancementModel     enhModel;
            RequirementModel     reqModel;
            string tableName = "";

            slotModel = new EnhancementSlotModel();
            reqModel  = GetRequirementModel(requirementId);
            //tableName = TableNamesModel.GetNameFromId(reqModel.Id);
            tableName = TableNamesModel.GetTableNameFromId(reqModel.TableNamesId);

            if (tableName == "EnhancementSlot")
            {
                slotModel.Initialize(reqModel.ApplytoId);
            }

            if (tableName == "Enhancement")
            {
                enhModel = new EnhancementModel();
                enhModel.Initialize(reqModel.ApplytoId);
                slotModel.Initialize(enhModel.EnhancementSlotId);
            }

            return(slotModel);
        }
Exemple #4
0
        /// <summary>
        /// Process in thread
        /// </summary>
        public void ThreadProc()
        {
            Validation = string.Empty;

            _asn        = new AssigneeModel();
            AsnResponse = _asn.Read(AssigneePath);

            _enh        = new EnhancementModel();
            EnhResponse = _enh.Read(EnhancementPath);

            if (EnhResponse == true && AsnResponse == true)
            {
                _find = new FindMatch(_asn, _enh);
                _find.Get();
                LoaderVisiblity = "Hidden";
                ButtonEnable    = "True";
            }
            else if (AsnResponse == false)
            {
                Validation      = "Invalid Assignee Document Format";
                LoaderVisiblity = "Hidden";
                ButtonEnable    = "True";
            }
            else if (EnhResponse == false)
            {
                Validation      = "Invalid Enhancement Document Format";
                LoaderVisiblity = "Hidden";
                ButtonEnable    = "True";
            }
        }
        private string BuildRequirementText(Guid requirementId, string requirementComparison, double requirementValue)
        {
            string           text;
            string           tableName;
            RequirementModel reqModel;

            text = "";
            //text = RequirementModel.GetNameFromId(requirementId) + " " + requirementComparison + " " + requirementValue.ToString();
            reqModel = new RequirementModel();
            reqModel.Initialize(requirementId);
            tableName = TableNamesModel.GetTableNameFromId(reqModel.TableNamesId);
            if (tableName == "Ability")
            {
                text = AbilityModel.GetNameFromId(reqModel.ApplytoId) + " " + requirementComparison + " " + requirementValue.ToString();
            }
            else if (tableName == "Alignments")
            {
                text = "Alignment: " + requirementComparison + " " + AlignmentModel.GetNameFromID(reqModel.ApplytoId);
            }
            else if (tableName == "Attribute")
            {
                text = AttributeModel.GetNameFromId(reqModel.ApplytoId) + " " + requirementComparison + " " + requirementValue.ToString();
            }
            else if (tableName == "Character")
            {
                text = "Character " + requirementComparison + " Level " + requirementValue.ToString();
            }
            else if (tableName == "Class")
            {
                text = ClassModel.GetNameFromId(reqModel.ApplytoId) + " " + requirementComparison + " Level " + requirementValue.ToString();
            }
            else if (tableName == "Enhancement")
            {
                text = "Enhnacement: " + EnhancementModel.GetNameFromId(reqModel.ApplytoId) + " " + requirementComparison + " Rank " + requirementValue.ToString();
            }
            else if (tableName == "EnhancementSlot")
            {
                text = "Enhancement Slot: " + BuildSlotName(reqModel.ApplytoId) + " " + requirementComparison + " Rank " + requirementValue.ToString();
            }
            else if (tableName == "Feat")
            {
                text = "Feat: " + FeatModel.GetNameFromId(reqModel.ApplytoId);
            }
            else if (tableName == "Race")
            {
                text = RaceModel.GetNameFromId(reqModel.ApplytoId) + " " + requirementComparison + " Level " + requirementValue.ToString();
            }
            else if (tableName == "Skill")
            {
                text = SkillModel.GetNameFromId(reqModel.ApplytoId) + " " + requirementComparison + " " + requirementValue.ToString();
            }
            else
            {
                //we should not reach here
                Debug.WriteLine("Error: No category exists for this requirement. RequirementPanel2: BuildRequirementText()");
            }

            return(text);
        }
        private void AddEnhancementModel()
        {
            EnhancementModel tempEnhancementModel;
            int order;

            order = EnhancementModels.Count;

            tempEnhancementModel = new EnhancementModel();
            tempEnhancementModel.EnhancementSlotId = SlotId;
            tempEnhancementModel.Name         = "Need More Info!!";
            tempEnhancementModel.DisplayOrder = (byte)order;

            EnhancementModels.Add(tempEnhancementModel);
        }
        private void comboSlot_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <EnhancementModel> enhancementModels;

            if (e.ToString() != "")
            {
                //lets pull the enhancement data for the selected slot
                enhancementModels = EnhancementModel.GetAll(GetSlotId());

                comboApplyTo.Items.Clear();
                foreach (EnhancementModel model in enhancementModels)
                {
                    comboApplyTo.Items.Add("Pos " + model.DisplayOrder.ToString() + ":: " + model.Name);
                }
            }

            buttonOk.Enabled = false;
        }
        private string GetSlotName(EnhancementSlotModel model)
        {
            string name;
            Guid   enhancementId;

            name = "";
            if (model.UseEnhancementInfo == true)
            {
                //Retrieve the Name of the First enhancement for this slot
                enhancementId = EnhancementModel.GetIdFromSlotIdandDisplayOrder(model.Id, 0);
                name          = EnhancementModel.GetNameFromId(enhancementId);
            }
            else
            {
                name = model.Name;
            }

            return(name);
        }
        private Guid GetEnhancementId()
        {
            Guid   slotId;
            Guid   enhancementId;
            string enhancementName;
            string indexString;
            int    startLoc = 0;
            int    index    = -1;
            string tempName;

            slotId          = GetSlotId();
            enhancementName = comboApplyTo.SelectedItem.ToString();
            tempName        = enhancementName.Remove(0, 4);
            startLoc        = tempName.IndexOf(":: ");
            indexString     = tempName.Remove(startLoc);
            index           = Int32.Parse(indexString);
            enhancementId   = EnhancementModel.GetIdFromSlotIdandDisplayOrder(slotId, (byte)index);
            return(enhancementId);
        }
        private string BuildSlotName(Guid slotId)
        {
            string slotName;
            EnhancementSlotModel slotModel;

            slotName  = "";
            slotModel = new EnhancementSlotModel();
            slotModel.Initialize(slotId);

            if (slotModel.UseEnhancementInfo == true)
            {
                slotName = EnhancementModel.GetNameFromId(EnhancementModel.GetIdFromSlotIdandDisplayOrder(slotModel.Id, 0));
            }
            else
            {
                slotName = slotModel.Name;
            }

            return(slotName);
        }
Exemple #11
0
        private void SlotComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <EnhancementModel> enhancementModels;
            Guid slotId;
            Guid treeId;

            if (e.ToString() != "")
            {
                treeId = EnhancementTreeModel.GetIdFromTreeName(TreeComboBox.SelectedItem.ToString());
                slotId = EnhancementSlotModel.GetIdFromTreeIdandSlotIndex(treeId, GetSlotIndex(SlotComboBox.SelectedItem.ToString()));
                //lets pull the enhancement data for the selected slot
                enhancementModels = EnhancementModel.GetAll(slotId);

                ApplyToComboBox.Items.Clear();
                foreach (EnhancementModel model in enhancementModels)
                {
                    ApplyToComboBox.Items.Add("Pos " + model.DisplayOrder.ToString() + ": " + model.Name);
                }

                UpdateNameField();
            }
        }
        private string GetApplyToName(Guid requirementId)
        {
            string           applyToName;
            string           tableName;
            RequirementModel reqModel;
            EnhancementModel enhancementModel;

            reqModel = GetRequirementModel(requirementId);
            //tableName = "Class";

            tableName = TableNamesModel.GetTableNameFromId(reqModel.TableNamesId);

            if (tableName == "Ability")
            {
                applyToName = AbilityModel.GetNameFromId(reqModel.ApplytoId);
            }
            else if (tableName == "Alignments")
            {
                applyToName = AlignmentModel.GetNameFromID(reqModel.ApplytoId);
            }
            else if (tableName == "Attribute")
            {
                applyToName = AttributeModel.GetNameFromId(reqModel.ApplytoId);
            }
            else if (tableName == "Character")
            {
                applyToName = "Level";
            }
            else if (tableName == "Class")
            {
                applyToName = ClassModel.GetNameFromId(reqModel.ApplytoId);
            }
            else if (tableName == "Enhancement")
            {
                //"Pos " + model.DisplayOrder.ToString() + ":: " + model.Name)
                enhancementModel = new EnhancementModel();
                enhancementModel.Initialize(reqModel.ApplytoId);
                applyToName = "Pos " + enhancementModel.DisplayOrder + ":: " + enhancementModel.Name;
            }
            else if (tableName == "EnhancementSlot")
            {
                applyToName = BuildSlotName(GetSlotModel(requirementId));
            }
            else if (tableName == "Feat")
            {
                applyToName = FeatModel.GetNameFromId(reqModel.ApplytoId);
            }
            else if (tableName == "Race")
            {
                applyToName = RaceModel.GetNameFromId(reqModel.ApplytoId);
            }
            else if (tableName == "Skill")
            {
                applyToName = SkillModel.GetNameFromId(reqModel.ApplytoId);
            }
            else
            {
                applyToName = "";
            }
            Debug.WriteLine("ApplyToName = " + applyToName);
            return(applyToName);
        }
Exemple #13
0
        private void AddNewRequirementRecord()
        {
            RequirementModel model;
            string           categoryName;
            string           applyToName;
            string           treeName;
            Guid             treeId;
            Guid             slotId;
            Guid             enhancementId;

            treeName     = "";
            model        = new RequirementModel();
            categoryName = CategoryComboBox.SelectedItem.ToString();
            applyToName  = ApplyToComboBox.SelectedItem.ToString();
            if (categoryName == "Enhancement" || categoryName == "EnhancementSlot")
            {
                treeName = TreeComboBox.SelectedItem.ToString();
            }

            model.Initialize(Guid.Empty);
            model.TableNamesId = TableNamesModel.GetIdFromTableName(categoryName);
            if (categoryName == "Ability")
            {
                model.ApplytoId = AbilityModel.GetIdFromName(applyToName);
            }
            if (categoryName == "Attribute")
            {
                model.ApplytoId = AttributeModel.GetIdFromName(applyToName);
            }
            if (categoryName == "Class")
            {
                model.ApplytoId = ClassModel.GetIdFromName(applyToName);
            }
            if (categoryName == "Enhancement")
            {
                treeId          = EnhancementTreeModel.GetIdFromTreeName(treeName);
                slotId          = EnhancementSlotModel.GetIdFromTreeIdandSlotIndex(treeId, GetSlotIndex(SlotComboBox.SelectedItem.ToString()));
                enhancementId   = EnhancementModel.GetIdFromSlotIdandDisplayOrder(slotId, GetDisplayOrder(ApplyToComboBox.SelectedItem.ToString()));
                model.ApplytoId = enhancementId;
            }
            if (categoryName == "EnhancementSlot")
            {
                treeId          = EnhancementTreeModel.GetIdFromTreeName(treeName);
                slotId          = EnhancementSlotModel.GetIdFromTreeIdandSlotIndex(treeId, GetSlotIndex(ApplyToComboBox.SelectedItem.ToString()));
                model.ApplytoId = slotId;
            }
            if (categoryName == "Feat")
            {
                model.ApplytoId = FeatModel.GetIdFromName(applyToName);
            }
            if (categoryName == "Race")
            {
                model.ApplytoId = RaceModel.GetIdFromName(applyToName);
            }
            if (categoryName == "Skill")
            {
                model.ApplytoId = SkillModel.GetIdFromName(applyToName);
            }

            model.Name = NameTextBox.Text;
            model.Save();
            NewRequirementId = model.Id;
        }
        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 PopulateEnhancementTreeFields()
        {
            TreeNameTextBox.Text      = TreeModel.Name;
            TreeBackgoundTextBox.Text = TreeModel.Background;
            if (TreeModel.RaceTree == true)
            {
                RaceRadioButton.Checked = true;
            }
            else
            {
                ClassRadioButton.Checked = true;
            }

            //Let set up the Tree control
            EnhancementTreeControl.Clear();
            if (NewRecord == true)
            {
                EnhancementTreeControl.AddSlot(0);
                SlotChanged[0] = true; //Mark this slot as changed so that it will be saved. as all trees have at least this 1 slot.
                EnhancementTreeControl.ChangeSlotType(0, SlotControl.SCType.Active);
                EnhancementTreeControl.BackgroundImage = Image.FromFile(Application.StartupPath + "\\Graphics\\Interface\\" + "BackgroundEmpty" + ".png");
            }
            else
            {
                //set up the slot control inside the tree control
                for (int i = 0; i < 31; i++)
                {
                    if (SlotModels[i].Id != Guid.Empty)
                    {
                        //TODO: Add the slot and update its Icon if available
                        EnhancementTreeControl.AddSlot(i);

                        if (SlotModels[i].UseEnhancementInfo)
                        {
                            List <EnhancementModel> EnhancementModels;
                            EnhancementModels = new List <EnhancementModel>();
                            EnhancementModels = EnhancementModel.GetAll(SlotModels[i].Id);
                            if (EnhancementModels.Count > 0)
                            {
                                if (EnhancementModels[0].Icon != null)
                                {
                                    EnhancementTreeControl.ChangeSlotIcon(i, EnhancementModels[0].Icon);
                                }
                                else
                                {
                                    EnhancementTreeControl.ChangeSlotIcon(i, "noImage");
                                }
                            }
                            else
                            {
                                EnhancementTreeControl.ChangeSlotIcon(i, "noImageDesign");
                            }
                        }
                        else if (SlotModels[i].Icon != null)
                        {
                            EnhancementTreeControl.ChangeSlotIcon(i, SlotModels[i].Icon);
                        }

                        if (SlotModels[i].Active == true)
                        {
                            EnhancementTreeControl.ChangeSlotType(i, SlotControl.SCType.Active);
                        }
                        else
                        {
                            EnhancementTreeControl.ChangeSlotType(i, SlotControl.SCType.Passive);
                        }
                    }
                    else
                    {
                        EnhancementTreeControl.ChangeSlotIcon(i, "noImageDesign");
                        EnhancementTreeControl.ChangeSlotType(i, SlotControl.SCType.Active);
                    }
                }

                //set the background image of the tree control.
                try
                {
                    EnhancementTreeControl.BackgroundImage = Image.FromFile(Application.StartupPath + "\\Graphics\\Interface\\" + TreeModel.Background + ".png");
                }
                catch (FileNotFoundException)
                {
                    EnhancementTreeControl.BackgroundImage = Image.FromFile(Application.StartupPath + "\\Graphics\\Interface\\BackgroundEmpty.png");
                }
            }

            //lets set the index of the tree control
            //if (EnhancementTreeControl.IsSlotShowing(0) == true)
            EnhancementTreeControl.SelectedIndex = 0;
            //else
            //    EnhancementTreeControl.SelectedIndex = -1;
            //Set the treeName field in the TreeControl
            EnhancementTreeControl.TreeText = TreeModel.Name;
        }