private void CheckedListBoxChange(object sender, InputType type, ItemCheckEventArgs e) { switch (type) { case InputType.FeatTargets: { if (e.NewValue == CheckState.Unchecked) { foreach (FeatTargetSelection selection in FeatTargetsSelected) { if (TargetModel.GetNameFromId(selection.Model.TargetId) == FeatTargetsCheckedListBox.Items[e.Index].ToString()) { selection.DeleteRecord = true; RecordChanged = true; return; } } } else { //let see if model exist already, if not then we need to add one otherwise set deleterecord to false. foreach (FeatTargetSelection selection in FeatTargetsSelected) { if (TargetModel.GetNameFromId(selection.Model.TargetId) == FeatTargetsCheckedListBox.Items[e.Index].ToString()) { selection.DeleteRecord = false; RecordChanged = true; return; } } // we made it this far, so we need to add a model FeatTargetsSelected.Add(new FeatTargetSelection()); FeatTargetsSelected[FeatTargetsSelected.Count - 1].Model = new FeatTargetModel(); FeatTargetsSelected[FeatTargetsSelected.Count - 1].Model.FeatId = Model.Id; FeatTargetsSelected[FeatTargetsSelected.Count - 1].Model.TargetId = TargetModel.GetIdFromName(FeatTargetsCheckedListBox.Items[e.Index].ToString()); FeatTargetsSelected[FeatTargetsSelected.Count - 1].DeleteRecord = false; RecordChanged = true; } break; } case InputType.FeatTypes: { if (e.NewValue == CheckState.Unchecked) { foreach (FeatTypeSelection selection in FeatTypesSelected) { if (FeatTypeModel.GetNameFromId(selection.Model.FeatTypeId) == FeatTypesCheckedListBox.Items[e.Index].ToString()) { selection.DeleteRecord = true; RecordChanged = true; return; } } } else { //let see if model exist already, if not then we need to add one otherwise set deleterecord to false. foreach (FeatTypeSelection selection in FeatTypesSelected) { if (FeatTypeModel.GetNameFromId(selection.Model.FeatTypeId) == FeatTypesCheckedListBox.Items[e.Index].ToString()) { selection.DeleteRecord = false; RecordChanged = true; return; } } // we made it this far, so we need to add a model FeatTypesSelected.Add(new FeatTypeSelection()); FeatTypesSelected[FeatTypesSelected.Count - 1].Model = new FeatFeatTypeModel(); FeatTypesSelected[FeatTypesSelected.Count - 1].Model.FeatId = Model.Id; FeatTypesSelected[FeatTypesSelected.Count - 1].Model.FeatTypeId = FeatTypeModel.GetIdFromName(FeatTypesCheckedListBox.Items[e.Index].ToString()); FeatTypesSelected[FeatTypesSelected.Count - 1].DeleteRecord = false; RecordChanged = true; } break; } } }
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(); }