/// <summary> /// The add subfield after. /// </summary> /// <param name="fieldViewModel"> /// The field view model. /// </param> public void AddSubfieldAfter(APQPDragAndDropOptionFieldViewModel fieldViewModel) { var sourceField = fieldViewModel.GetSelectedField(); if (sourceField == null) return; var subfield = APQPDragAndDropOptionFieldEdit.NewSourceField(); subfield.Level = Model.Subfields.Count > 0 ? Model.Subfields.Max(f => f.Level) + 1 : 1; Model.Subfields.Add(subfield); var vm = new APQPDragAndDropOptionFieldViewModel(); vm.Initialize(subfield, this); Subfields.Add(vm); RaisePropertyChanged(() => Subfields); FieldList.BeginGetCrossReferenceSubfields( sourceField.DefinedIn, sourceField.SystemName, (sender, e) => { if (e.Error != null) return; vm.SetAvailableFields(e.Object); }); }
/// <summary> /// The add subfield. /// </summary> public void AddSubfield() { if (!string.IsNullOrEmpty(DropField) && BaseVM.AvailableDropFields != null && BaseVM.AvailableDropFields.Any()) { var sourceField = BaseVM.AvailableDropFields.FirstOrDefault(f => f.SystemName == DropField); if (sourceField == null) return; var subfield = APQPDragAndDropOptionFieldEdit.NewSourceField(); Model.Subfields.Add(subfield); var vm = new APQPDragAndDropOptionFieldViewModel(); vm.Initialize(subfield, this); Subfields.Add(vm); RaisePropertyChanged(() => Subfields); FieldList.BeginGetCrossReferenceSubfields( sourceField.DefinedIn, sourceField.SystemName, (sender, e) => { if (e.Error != null) return; vm.SetAvailableFields(e.Object); }); } }