コード例 #1
0
        private bool HasDataChanged()
        {
            if (SlotRecordChanged == true)
            {
                return(true);
            }

            if (EnhancementRecordChanged == true)
            {
                return(true);
            }

            if (RankRequirementsRP1.HaveRecordsChanged() == true || RankRequirementsRP2.HaveRecordsChanged() == true || RankRequirementsRP2.HaveRecordsChanged() == true)
            {
                return(true);
            }

            if (RankModifiersMP1.HaveRecordsChanged() == true || RankModifiersMP2.HaveRecordsChanged() == true || RankModifiersMP3.HaveRecordsChanged() == true)
            {
                return(true);
            }

            //no data has changed, so return false.
            return(false);
        }
コード例 #2
0
        private void SaveRecord()
        {
            if (EnhancementRecordChanged == true || HasDataChanged() == true)
            {
                //Update the Enhancement Record
                if (NewEnhancementRecord == true)
                {
                    EnhancementModels[EnhancementIndexLoaded].EnhancementSlotId = SlotModel.Id;
                }

                EnhancementModels[EnhancementIndexLoaded].Save();

                //Update the Enhancement Rank Record(s)
                for (int i = 0; i < RankModels[EnhancementIndexLoaded].Count; i++)
                {
                    RankModels[EnhancementIndexLoaded][i].EnhancementId = EnhancementModels[EnhancementIndexLoaded].Id;
                    RankModels[EnhancementIndexLoaded][i].Rank          = (byte)(i + 1);
                    RankModels[EnhancementIndexLoaded][i].Save();
                    switch (i)
                    {
                    case 0:
                    {
                        if (RankRequirementsRP1.HaveRecordsChanged() == true)
                        {
                            RankRequirementsRP1.RecordId = RankModels[EnhancementIndexLoaded][i].Id;
                            RankRequirementsRP1.SaveRecords();
                        }
                        if (RankModifiersMP1.HaveRecordsChanged() == true)
                        {
                            RankModifiersMP1.RecordId = RankModels[EnhancementIndexLoaded][i].Id;
                            RankModifiersMP1.SaveRecords();
                        }
                        break;
                    }

                    case 1:
                    {
                        if (RankRequirementsRP2.HaveRecordsChanged() == true)
                        {
                            RankRequirementsRP2.RecordId = RankModels[EnhancementIndexLoaded][i].Id;
                            RankRequirementsRP2.SaveRecords();
                        }
                        if (RankModifiersMP2.HaveRecordsChanged() == true)
                        {
                            RankModifiersMP2.RecordId = RankModels[EnhancementIndexLoaded][i].Id;
                            RankModifiersMP2.SaveRecords();
                        }
                        break;
                    }

                    case 2:
                    {
                        if (RankRequirementsRP3.HaveRecordsChanged() == true)
                        {
                            RankRequirementsRP3.RecordId = RankModels[EnhancementIndexLoaded][i].Id;
                            RankRequirementsRP3.SaveRecords();
                        }
                        if (RankModifiersMP3.HaveRecordsChanged() == true)
                        {
                            RankModifiersMP3.RecordId = RankModels[EnhancementIndexLoaded][i].Id;
                            RankModifiersMP3.SaveRecords();
                        }
                        break;
                    }
                    }
                }
            }
        }
コード例 #3
0
        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();
        }