Ejemplo n.º 1
0
        protected override void OnConfirm()
        {
            // Ensure that the entity exists in the correct container.
            Boolean isExtender = this.InheritenceDropdown.SelectedValue != null;

            if (this.DomainEntity.Container != this.ContainerDropdown.SelectedItem)
            {
                DomainContainer container = this.ContainerDropdown.SelectedItem as DomainContainer;
                this.DomainEntity.Delete();
                this.DomainEntity = isExtender ? container.CreateEntityExtender() : container.CreateEntity();
            }

            // Ensure that the entity is of the required type
            if ((this.DomainEntity is DomainEntityExtender) != isExtender)
            {
                this.DomainEntity.Delete();
                this.DomainEntity = isExtender ? this.DomainEntity.Container.CreateEntityExtender() : this.DomainEntity.Container.CreateEntity();
            }

            // Update the standard properties
            this.DomainEntity.EntityName        = this.NameTextbox.Text;
            this.DomainEntity.EntityDescription = this.DescriptionTextbox.Text;
            this.DomainEntity.ReferencedTable   = this.TableDropdown.SelectedItem as DomainTable;
            this.DomainEntity.FilterColumn      = this.FilterDropdown.SelectedValue as DomainTableColumn;
            this.DomainEntity.FilterType        = (DomainEntityFilterType)this.FilterTypeDropdown.SelectedValue;
            this.DomainEntity.FilterValue       = (this.FilterDropdown.SelectedValue == null) ? null : this.FilterTextbox.Text;
            if (isExtender)
            {
                (this.DomainEntity as DomainEntityExtender).ReferencedEntity = this.InheritenceDropdown.SelectedValue as DomainEntity;
            }
        }
 /// <summary>
 ///     Deserialises the version history from the specified xml element.
 /// </summary>
 internal static new void Deserialise(DomainContainer container, XmlNode parentNode)
 {
     foreach (XmlNode xmlNode in parentNode.SelectNodes("extender"))
     {
         DomainEntityExtender result = container.CreateEntityExtender();
         result.Deserialise(xmlNode);
         result.EntityAttributes.Execute(item => item.Deserialise(xmlNode));
     }
 }