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); }
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; }
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(); }