Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
        }