Ejemplo n.º 1
0
        /// <summary>
        /// Création d'un composant externe à partir correspondant à un modèle
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        internal ExternalComponent CreateComponent(CandleModel model)
        {
            ExternalComponent externalComponent = model.FindExternalComponent(_id);

            if (externalComponent != null)
            {
                return(externalComponent);
            }

            externalComponent = new ExternalComponent(model.Store);
            UpdateComponent(externalComponent);

            model.ExternalComponents.Add(externalComponent);
            externalComponent.UpdateFromModel();
            return(externalComponent);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates the external component.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public ExternalComponent CreateComponent(CandleModel model)
        {
            ExternalComponent externalComponent;

            if (_metaData != null)
            {
                // Recherche par l'id si possible
                externalComponent = model.FindExternalComponent(_metaData.Id);
            }
            else
            {
                // Sinon par le nom pour éviter des doublons
                externalComponent = model.FindExternalComponentByName(Name);
            }

            if (externalComponent != null)
            {
                return(externalComponent);
            }

            if (_metaData != null)
            {
                return(_metaData.CreateComponent(model));
            }

            // Component par défaut avec le nom de l'assembly

            externalComponent = new ExternalComponent(model.Store);
            //ExternalPublicPort port = new ExternalPublicPort(model.Store);
            //port.Name = this.AssemblyName;
            //((ExternalBinaryComponent)externalComponent).Ports.Add(port);
            externalComponent.ModelMoniker = Guid.Empty;
            externalComponent.Name         = AssemblyName;
            externalComponent.Version      = Version;

            // Ajout au modèle
            model.ExternalComponents.Add(externalComponent);
            return(externalComponent);
        }