public IdpeVersion GetCurrentVersion(VersionObjectTypes versionObjectType, int referenceId) { IdpeVersion currentVersion = new IdpeVersion(); currentVersion.Type = (int)versionObjectType; if (versionObjectType == VersionObjectTypes.DataSource) { DataSourceBundle dsb = new DataSourceBundle(); string serialized = dsb.Export(referenceId, false); currentVersion.Data = new System.Data.Linq.Binary(GZipArchive.Compress(serialized.GetByteArray())); currentVersion.CreatedBy = dsb.DataSource.CreatedBy; currentVersion.CreatedTS = (DateTime) new Manager().GetDataSourceLastUpdatedTime(referenceId); currentVersion.Source = dsb.DataSource.Source; } else if (versionObjectType == VersionObjectTypes.Rule) { IdpeRule rule = new Manager().GetRule(referenceId); if (rule == null) { return(null); } DataSourcePatch patch = new DataSourcePatch(); patch.Rules.Add(rule); currentVersion.Data = new System.Data.Linq.Binary(GZipArchive.Compress(patch.Export().GetByteArray())); currentVersion.CreatedBy = rule.CreatedBy; currentVersion.CreatedTS = rule.CreatedTS; currentVersion.Source = rule.Source; } return(currentVersion); }
void LoadFromSerializedObject(string serializedObject) { DataSourceBundle dsb = serializedObject.Deserialize <DataSourceBundle>(); this.DataSource = dsb.DataSource; this.SystemDataSourceName = dsb.SystemDataSourceName; this.Attributes = dsb.Attributes; this.Rules = dsb.Rules; this.RuleNames = dsb.RuleNames; this.Keys = dsb.Keys; }