private void SpeciesAttribute_OnChanged(Model.ISpeciesAttributeValue sender) { if (sender is Model.SpeciesAttributeChoice) { Model.SpeciesAttributeChoice speciesAttributeChoice = sender as Model.SpeciesAttributeChoice; if (sender.IsUsed) { speciesAttributeChoice.SpeciesAttributeChoiceValue = new Library.DBObject.SpeciesAttributeChoice(); speciesAttributeChoice.SpeciesAttributeChoiceValue.key_id = Key.id; speciesAttributeChoice.SpeciesAttributeChoiceValue.species_id = Species.id; speciesAttributeChoice.SpeciesAttributeChoiceValue.attributechoice_id = speciesAttributeChoice.AttributeChoice.id; IKeyManager.Insert(speciesAttributeChoice.SpeciesAttributeChoiceValue); } else { if (speciesAttributeChoice.SpeciesAttributeChoiceValue != null) { IKeyManager.Delete(speciesAttributeChoice.SpeciesAttributeChoiceValue); speciesAttributeChoice.SpeciesAttributeChoiceValue = null; } } } else if (sender is Model.SpeciesAttributeSize) { Model.SpeciesAttributeSize speciesAttributeSize = sender as Model.SpeciesAttributeSize; if (sender.IsUsed) { if (speciesAttributeSize.SpeciesAttributeSizeValue != null) { IKeyManager.Update(speciesAttributeSize.SpeciesAttributeSizeValue); } else { speciesAttributeSize.SpeciesAttributeSizeValue = new Library.DBObject.SpeciesAttributeSize(); speciesAttributeSize.SpeciesAttributeSizeValue.key_id = Key.id; speciesAttributeSize.SpeciesAttributeSizeValue.species_id = Species.id; speciesAttributeSize.SpeciesAttributeSizeValue.attribute_id = speciesAttributeSize.Attribute.id; speciesAttributeSize.SpeciesAttributeSizeValue.value = 1; IKeyManager.Insert(speciesAttributeSize.SpeciesAttributeSizeValue); } } else { if (speciesAttributeSize.SpeciesAttributeSizeValue != null) { IKeyManager.Delete(speciesAttributeSize.SpeciesAttributeSizeValue); speciesAttributeSize.SpeciesAttributeSizeValue = null; } } } }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { FrameworkElement frameworkElement = container as FrameworkElement; if (frameworkElement == null) { return(base.SelectTemplate(item, container)); } if (frameworkElement.Parent is System.Windows.Controls.DataGridCell) { Model.ISpeciesAttributeValue iSpeciesAttributeValue = (frameworkElement.Parent as System.Windows.Controls.DataGridCell).DataContext as Model.ISpeciesAttributeValue; if (!(iSpeciesAttributeValue.Value is string)) { return(SizeAttributeTemplate); } } return(ChoiceAttributeTemplate); }