示例#1
0
		public void Etag_to_Guid_conversion()
		{
			var etag = new Raven.Abstractions.Data.Etag("01234567-8901-2345-6789-012345678901");
			var guid = (Guid) etag;
			var nullabelGuid = (Guid?)etag;
			Assert.Equal(etag.ToString(), guid.ToString());
			Assert.Equal(etag.ToString(), nullabelGuid.ToString());
		}
示例#2
0
        public void Etag_to_Guid_conversion()
        {
            var etag         = new Raven.Abstractions.Data.Etag("01234567-8901-2345-6789-012345678901");
            var guid         = (Guid)etag;
            var nullabelGuid = (Guid?)etag;

            Assert.Equal(etag.ToString(), guid.ToString());
            Assert.Equal(etag.ToString(), nullabelGuid.ToString());
        }
示例#3
0
        /// <summary>
        /// Translate the json document to a <see cref = "RavenJObject" />
        /// </summary>
        public RavenJObject ToJson(bool checkForId = false)
        {
            DataAsJson.EnsureCannotBeChangeAndEnableSnapshotting();
            Metadata.EnsureCannotBeChangeAndEnableSnapshotting();

            var doc      = (RavenJObject)DataAsJson.CreateSnapshot();
            var metadata = (RavenJObject)Metadata.CreateSnapshot();

            if (LastModified != null)
            {
                metadata[Constants.LastModified]      = LastModified.Value;
                metadata[Constants.RavenLastModified] = LastModified.Value.GetDefaultRavenFormat();
            }
            if (Etag != null)
            {
                metadata["@etag"] = Etag.ToString();
            }
            if (NonAuthoritativeInformation != null)
            {
                metadata["Non-Authoritative-Information"] = NonAuthoritativeInformation.Value;
            }
            if (checkForId && metadata.ContainsKey("@id") == false)
            {
                metadata["@id"] = Key;
            }
            doc["@metadata"] = metadata;

            return(doc);
        }
示例#4
0
        /// <summary>
        /// Translate the json document to a <see cref = "RavenJObject" />
        /// </summary>
        /// <returns></returns>
        public RavenJObject ToJson()
        {
            DataAsJson.EnsureCannotBeChangeAndEnableSnapshotting();
            Metadata.EnsureCannotBeChangeAndEnableSnapshotting();

            var doc      = (RavenJObject)DataAsJson.CreateSnapshot();
            var metadata = (RavenJObject)Metadata.CreateSnapshot();

            if (LastModified != null)
            {
                metadata[Constants.LastModified]      = LastModified.Value;
                metadata[Constants.RavenLastModified] = LastModified.Value.ToString(Default.DateTimeFormatsToWrite, CultureInfo.InvariantCulture);
            }
            if (Etag != null)
            {
                metadata["@etag"] = Etag.ToString();
            }
            if (NonAuthoritativeInformation != null)
            {
                metadata["Non-Authoritative-Information"] = NonAuthoritativeInformation.Value;
            }
            //if (metadata.ContainsKey("@id") == false)
            //	metadata["@id"] = Key;
            doc["@metadata"] = metadata;

            return(doc);
        }
示例#5
0
        public void Etag_converted_to_string_then_to_Guid_and_back_yields_the_same_Etag()
        {
            var originalEtag = new Raven.Abstractions.Data.Etag(UuidType.Documents, 12, 12);

            var etagAsString = originalEtag.ToString();
            var etagAsStringConvertedToGuid = Guid.Parse(etagAsString);

            var etagAfterConversion = (Raven.Abstractions.Data.Etag)etagAsStringConvertedToGuid;

            Assert.Equal(originalEtag, etagAfterConversion);
        }
示例#6
0
		public void Etag_converted_to_string_then_to_Guid_and_back_yields_the_same_Etag()
		{
			var originalEtag = new Raven.Abstractions.Data.Etag(UuidType.Documents, 12, 12);

			var etagAsString = originalEtag.ToString();
			var etagAsStringConvertedToGuid = Guid.Parse(etagAsString);

			var etagAfterConversion = (Raven.Abstractions.Data.Etag)etagAsStringConvertedToGuid;

			Assert.Equal(originalEtag, etagAfterConversion);
		}