예제 #1
0
 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;
             }
         }
     }
 }
예제 #2
0
        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);
        }