Beispiel #1
0
        public DataBlobVersion GetLatestVersion(int dataTypeId, DataBlobVersionType versionType, bool majorVersionOnly, bool queryPrimaryOnly)
        {
            QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.DataTypeIdProperty, dataTypeId),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.BlobVersionTypeProperty, versionType),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.MajorVersionOnlyProperty, majorVersionOnly),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.LatestVersionOnlyProperty, true),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.PrimaryOnlyProperty, queryPrimaryOnly)
            });

            DataBlobVersion[] array = this.dataProvider.Find <DataBlobVersion>(filter, null, false, null).Cast <DataBlobVersion>().ToArray <DataBlobVersion>();
            if (array != null && array.Length > 0)
            {
                return(array[0]);
            }
            return(null);
        }
Beispiel #2
0
        public IEnumerable <DataBlobVersion> GetVersionsFromLatestMajorVersion(int dataTypeId, DataBlobVersionType versionType, bool queryPrimaryOnly)
        {
            IEnumerable <DataBlobVersion> enumerable = Enumerable.Empty <DataBlobVersion>();
            DataBlobVersion latestVersion            = this.GetLatestVersion(dataTypeId, versionType, true, queryPrimaryOnly);

            if (latestVersion != null)
            {
                enumerable = enumerable.Concat(new DataBlobVersion[]
                {
                    latestVersion
                });
                QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.DataTypeIdProperty, latestVersion.DataTypeId),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.MajorVersionProperty, latestVersion.Version.Major),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.MinorVersionProperty, latestVersion.Version.Minor),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.BuildNumberProperty, latestVersion.Version.Build),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.RevisionNumberProperty, latestVersion.Version.Revision),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.BlobVersionTypeProperty, versionType),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.SinceVersionOnlyProperty, true),
                    new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.PrimaryOnlyProperty, queryPrimaryOnly)
                });
                enumerable = enumerable.Concat(this.dataProvider.Find <DataBlobVersion>(filter, null, false, null).Cast <DataBlobVersion>());
            }
            return(enumerable);
        }
Beispiel #3
0
        public IEnumerable <DataBlobVersion> GetVersionsSince(DataBlobVersion blobVersion, DataBlobVersionType versionType, bool queryPrimaryOnly)
        {
            DataBlobSession.ValidateDataBlobVersionCommon(blobVersion, false);
            QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.DataTypeIdProperty, blobVersion.DataTypeId),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.MajorVersionProperty, blobVersion.Version.Major),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.MinorVersionProperty, blobVersion.Version.Minor),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.BuildNumberProperty, blobVersion.Version.Build),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.RevisionNumberProperty, blobVersion.Version.Revision),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.BlobVersionTypeProperty, versionType),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.SinceVersionOnlyProperty, true),
                new ComparisonFilter(ComparisonOperator.Equal, DataBlobCommonSchema.PrimaryOnlyProperty, queryPrimaryOnly)
            });

            return(this.dataProvider.Find <DataBlobVersion>(filter, null, false, null).Cast <DataBlobVersion>());
        }