Example #1
0
        public void Save(IAppData appData)
        {
            var serializer = new JsonSerializer();

            using (var stream = _streamStore.OpenWrite(Filename))
                using (var streamWriter = new StreamWriter(stream))
                    using (var jsonTextWriter = new JsonTextWriter(streamWriter))
                    {
                        serializer.Serialize(jsonTextWriter, appData);
                    }
        }
Example #2
0
        public Stream OpenWrite(string name)
        {
            var tempName = string.Join(".", new[] {
                name,
                Guid.NewGuid().ToString().Replace("-", "").Substring(0, 4),
                "tmp",
            });
            Action rename = () => _streamStore.Rename(tempName, name);
            var    stream = _streamStore.OpenWrite(tempName);
            var    disposeNotifyingStream = new DisposeNotifyingStream(stream, rename);

            return(disposeNotifyingStream);
        }