/// <summary> /// Creates a new scoping container within the domain. /// </summary> public DomainContainer CreateContainer() { DomainContainer container = new DomainContainer(this); _containers.Add(container); return(container); }
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)); } }
/// <summary> /// Deserialises the version history from the specified xml element. /// </summary> internal static void Deserialise(Domain domain, XmlNode parentNode) { foreach (XmlNode xmlNode in parentNode.SelectNodes("container")) { DomainContainer result = domain.CreateContainer(); result.Deserialise(xmlNode); DomainEntity.Deserialise(result, xmlNode); } }
/// <summary> /// Loads the domain from the specified document. /// </summary> public static Domain Load(String filePath) { Domain domain = new Domain(); if (File.Exists(filePath)) { XmlDocument document = new XmlDocument(); document.Load(filePath); domain._version = new Version(document.DocumentElement.Attributes["version"].Value); domain.Deserialise(document.DocumentElement); DomainTable.Deserialise(domain, document.DocumentElement); DomainContainer.Deserialise(domain, document.DocumentElement); DomainContainer.DeserialiseExtenders(domain, document.DocumentElement); DomainDataSource.Deserialise(domain, document.DocumentElement); } else { domain.ChangeVersion(7, 0, 0, 0, 0); domain.DomainName = "Consensus"; } return(domain); }
/// <summary> /// Initialises a new <see cref="DomainEntityExtender" /> instance. /// </summary> public DomainEntityExtender(DomainContainer container) : base(container) { }
/// <summary> /// Initialises a new <see cref="ContainerEditor" /> instance. /// </summary> public ContainerEditor(DomainContainer domainContainer) { this.InitializeComponent(); this.DomainContainer = domainContainer; }
/// <summary> /// Initialises a new <see cref="SqlServerRepositoryFromEntityUser" /> instance. /// </summary> /// <param name="project"> /// Sets the project, in which this runtime type is included. /// </param> /// <param name="container"> /// Sets the domain container from which the repository collection is generated. /// </param> public GenericDataRepositoryCollectionFromContainerDynamic(GeneratedProject project, DomainContainer container) : base(project) { _container = container; }
/// <summary> /// Initialises a new <see cref="SqlServerRepositoryFromEntityUser" /> instance. /// </summary> /// <param name="project"> /// Sets the project, in which this runtime type is included. /// </param> /// <param name="container"> /// Sets the domain container from which the repository collection is generated. /// </param> public GenericBusinessFactoryCollectionFromContainerDynamic(GeneratedProject project, DomainContainer container) : base(project) { _container = container; }
/// <summary> /// Initialises a new <see cref="SqlServerRepositoryFromEntityUser" /> instance. /// </summary> /// <param name="project"> /// Sets the project, in which this runtime type is included. /// </param> /// <param name="container"> /// Sets the domain container from which the repository collection is generated. /// </param> public SqlServerRepositoryCollectionFromContainerUser(GeneratedProject project, DomainContainer container) : base(project) { _container = container; }
/// <summary> /// Initialises a new <see cref="LocalBusinessFactoryCollectionFromContainerUser" /> instance. /// </summary> /// <param name="project"> /// Sets the project, in which this runtime type is included. /// </param> /// <param name="container"> /// Sets the domain container from which the repository collection is generated. /// </param> public LocalBusinessFactoryCollectionFromContainerUser(GeneratedProject project, DomainContainer container) : base(project) { _container = container; }
/// <summary> /// Initialises a new <see cref="DomainEntity" /> instance. /// </summary> public DomainEntity(DomainContainer container) : base(container.Version) { _container = container; }