private TransformationModel GetModel()
        {
            TransformationModel m = null;
            bool found            = false;

            // Recupera i metadati. Se non sono presenti, ritorna uno stato di invalido
            foreach (dynamic prop in ComponentMetaData.CustomPropertyCollection)
            {
                if (prop.Name == PROPERTY_KEY_MODEL)
                {
                    // Trovato!
                    found = true;
                    m     = TransformationModel.LoadFromJson((string)prop.Value);
                    break;
                }
            }

            if (!found)
            {
                throw new ModelNotFoundException();
            }
            else
            {
                return(m);
            }
        }
Example #2
0
        /*
         * Metodo invocato quando il componente UI viene caricato per la prima volta, generalmente in seguito al doppio click sul componente.
         */
        public void Initialize(IDTSComponentMetaData100 dtsComponentMetadata, IServiceProvider serviceProvider)
        {
            // Salva un link ai metadati del runtime editor ed al serviceProvider
            _sp = serviceProvider;
            _md = dtsComponentMetadata;

            // Controlla se l'oggetto contiene il model serializzato nelle proprietà. In caso negativo, creane uno nuovo ed attribuisciglielo.
            IDTSCustomProperty100 model = _md.CustomPropertyCollection[ComponentConstants.PROPERTY_KEY_MODEL];

            if (model.Value == null)
            {
                _model      = new TransformationModel();
                model.Value = _model.ToJsonConfig();
            }
            else
            {
                _model = TransformationModel.LoadFromJson(model.Value.ToString());
            }

            if (_md == null)
            {
                _md = (IDTSComponentMetaData100)_md.Instantiate();
            }
        }