Esempio n. 1
0
        private bool HasDataChanged()
        {
            if (NewRecord == true)
            {
                return(true);
            }

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

            if (FeatRequirementsRP2.HaveRecordsChanged() == true)
            {
                return(true);
            }

            if (MP2Modifiers.HaveRecordsChanged() == true)
            {
                return(true);
            }

            //no data has changed, so return false
            return(false);
        }
Esempio n. 2
0
        private void SaveRecord()
        {
            if (NewRecord == true || RecordChanged == true)
            {
                Model.Save();
            }

            //lets update the feattypes that need updating
            foreach (FeatTypeSelection selection in FeatTypesSelected)
            {
                //See if we need to delete a record
                if (selection.DeleteRecord == true && selection.Model.Id != Guid.Empty)
                {
                    selection.Model.Delete();
                }
                //see if we need to add a record
                if (selection.DeleteRecord == false && selection.Model.Id == Guid.Empty)
                {
                    selection.Model.FeatId = Model.Id;
                    selection.Model.Save();
                }
            }

            //lets update the Feat Targets that need updating
            foreach (FeatTargetSelection selection in FeatTargetsSelected)
            {
                //see if we need to delete a record
                if (selection.DeleteRecord == true && selection.Model.Id != Guid.Empty)
                {
                    selection.Model.Delete();
                }

                //see if we need to add a record
                if (selection.DeleteRecord == false && selection.Model.Id == Guid.Empty)
                {
                    selection.Model.FeatId = Model.Id;
                    selection.Model.Save();
                }
            }

            //See if we need save records for Requirements Panels
            if (NewRecord == true)
            {
                FeatRequirementsRP2.RecordId = Model.Id;
            }
            if (FeatRequirementsRP2.HaveRecordsChanged() == true)
            {
                FeatRequirementsRP2.SaveRecords();
            }

            //See if we need to save records for the Modifiers panel
            if (NewRecord == true)
            {
                MP2Modifiers.RecordId = Model.Id;
            }
            if (MP2Modifiers.HaveRecordsChanged() == true)
            {
                MP2Modifiers.SaveRecords();
            }

            //cache the name strings for later comparison since we have updated the database
            DatabaseName = Model.Name;
        }
Esempio n. 3
0
        private void PopulateFields(string featName)
        {
            List <FeatFeatTypeModel> featTypeModels;
            List <FeatTargetModel>   featTargetModels;

            Model = new FeatModel();
            Model.Initialize(featName);

            featTypeModels   = FeatFeatTypeModel.GetAllByFeatId(Model.Id);
            featTargetModels = FeatTargetModel.GetAllByFeatId(Model.Id);

            //set our Database values for Error checkign unique values.
            DatabaseName = Model.Name;

            //set the main control values
            NameInputBox.Text = Model.Name;
            CategoryFeatComboBox.SelectedItem = FeatCategoryModel.GetNameFromId(Model.FeatCategoryId);
            ParentFeatCheckBox.Checked        = Model.IsParentFeat;
            MultiplesCheckBox.Checked         = Model.Multiple;
            ParentFeatComboBox.SelectedItem   = FeatModel.GetNameFromId(Model.ParentFeat);
            StanceComboBox.SelectedItem       = StanceModel.GetStanceNameFromId(Model.StanceId);
            IconFileNameInputBox.Text         = Model.ImageFileName;
            FeatIcon = new IconClass("Feats\\" + Model.ImageFileName);
            FeatIcon.SetLocation(this.Width, this.Height, FeatIconLocation);
            DurationTextBox.Text = Model.Duration;

            //System tracking labels
            RecordGUIDLabel.Text = Model.Id.ToString();
            ModDateLabel.Text    = Model.LastUpdatedDate.ToString();
            ModVersionLabel.Text = Model.LastUpdatedVersion;

            //DescriptionWebBrowser control
            DescriptionHtmlEditor.Text = Model.Description;

            //Set the FeatTypes
            //clear previous values if any.
            FeatTypesSelected = new List <FeatTypeSelection>();
            foreach (int i in FeatTypesCheckedListBox.CheckedIndices)
            {
                FeatTypesCheckedListBox.SetItemChecked(i, false);
            }

            if (featTypeModels != null)
            {
                foreach (FeatFeatTypeModel ftmodel in featTypeModels)
                {
                    FeatTypesSelected.Add(new FeatTypeSelection());
                    FeatTypesSelected[FeatTypesSelected.Count - 1].Model        = ftmodel;
                    FeatTypesSelected[FeatTypesSelected.Count - 1].DeleteRecord = false;
                    FeatTypesCheckedListBox.SetItemChecked(FeatTypesCheckedListBox.FindStringExact(FeatTypeModel.GetNameFromId(ftmodel.FeatTypeId)), true);
                }
            }

            //Set the FeatTargets, clear previous values if any.
            FeatTargetsSelected = new List <FeatTargetSelection>();
            foreach (int i in FeatTargetsCheckedListBox.CheckedIndices)
            {
                FeatTargetsCheckedListBox.SetItemChecked(i, false);
            }

            if (featTargetModels != null)
            {
                foreach (FeatTargetModel ftmodel in featTargetModels)
                {
                    FeatTargetsSelected.Add(new FeatTargetSelection());
                    FeatTargetsSelected[FeatTargetsSelected.Count - 1].Model        = ftmodel;
                    FeatTargetsSelected[FeatTargetsSelected.Count - 1].DeleteRecord = false;
                    FeatTargetsCheckedListBox.SetItemChecked(FeatTargetsCheckedListBox.FindStringExact(TargetModel.GetNameFromId(ftmodel.TargetId)), true);
                }
            }

            //Set the the requirements panel
            FeatRequirementsRP2.Clear();
            FeatRequirementsRP2.RecordId = Model.Id;
            FeatRequirementsRP2.Initialize();

            //Set the modifiers panel
            MP2Modifiers.Clear();
            MP2Modifiers.RecordId = Model.Id;
            MP2Modifiers.Initialize();

            //Invalidate the screen to update graphics
            Invalidate();
        }