/// <summary> /// Ctor of a factory in the topology tree. /// </summary> /// <param name="factoryDescription">The topology description for the factory.</param> public Factory(FactoryDescription factoryDescription) : base(factoryDescription.Guid, factoryDescription.Name, factoryDescription.Description, factoryDescription) { Location = new FactoryLocation(); Location.City = factoryDescription.Location.City; Location.Country = factoryDescription.Location.Country; Location.Latitude = factoryDescription.Location.Latitude; Location.Longitude = factoryDescription.Location.Longitude; }
/// <summary> /// Get new factory node. Creates new node if new factory doesn't exist. /// </summary> public ContosoTopologyNode GetOrAddNewFactory() { List <string> newFactory = GetAllChildren(TopologyRoot.Key, typeof(Factory), _newFactoryName); if (newFactory.Count > 0) { // use existing new factory return((ContosoTopologyNode)TopologyTable[newFactory[0]]); } // Add new factory to root FactoryDescription factoryDescription = new FactoryDescription(); factoryDescription.Name = _newFactoryName; factoryDescription.Description = _newFactoryName; factoryDescription.Guid = Guid.NewGuid().ToString(); Factory factory = new Factory(factoryDescription); AddChild(TopologyRoot.Key, factory); return(factory); }