protected Stash GetItemSerializeCompressEncrypt(Stash item) { byte[] arProtected; byte[] arCompressed; arProtected = Convert.FromBase64String(item.Value); try { arCompressed = this.Unprotect(arProtected); } catch (Exception) { throw; } item.Value = this.GetBase64String(this.Uncompress(arCompressed)); item.Value = DecodeFromBase64(item.Value); if (item.Serialized) { Type serializedType = this.GetStoredType(item.StoredType); dynamic deserialized = JsonConvert.DeserializeObject(item.Value, serializedType); item.SetPrivateObject(deserialized); // deserialized data assigned to Object property. item.Serialized = true; // the value property remains serialized... } return(item); }
protected Stash GetItemSerializationOnly(Stash item) { if (item.Serialized) { Type serializedType = this.GetStoredType(item.StoredType); item.SetPrivateObject(JsonConvert.DeserializeObject(item.Value, serializedType)); // deserialized data assigned to Object property. item.Serialized = true; // the value property remains serialized... } return(item); }
protected Stash GetItemSerializeCompress(Stash item) { byte[] itembytes = Convert.FromBase64String(item.Value); byte[] arCompressed = this.Uncompress(itembytes); item.Value = Convert.ToBase64String(arCompressed); item.Value = DecodeFromBase64(item.Value); if (item.Serialized) { Type serializedType = this.GetStoredType(item.StoredType); item.SetPrivateObject(JsonConvert.DeserializeObject(item.Value, serializedType)); // deserialized data assigned to Object property. item.Serialized = true; // the value property remains serialized... } return(item); }