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); } }
/* * 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(); } }