Exemple #1
0
        public void Save <TEntity>(TEntity item) where TEntity : class, new()
        {
            var        json         = JsonConvert.SerializeObject(item, Formatting.Indented);
            var        key          = _keys.GetKeyValue(item).ToString();
            string     relativePath = GetItemPath <TEntity>(key);
            ICloudBlob blob         = _container.GetBlobReferenceFromServer(relativePath);

            blob.UploadText(json);
        }
Exemple #2
0
        public void Save <TEntity>(TEntity item) where TEntity : class, new()
        {
            var keyValue = _keys.GetKeyValue(item).ToString();

            if (Exists <TEntity>(keyValue))
            {
                _db.Update(item);
            }
            else
            {
                _db.Insert(item);
            }
        }
Exemple #3
0
        public void Save <TEntity>(TEntity item) where TEntity : class, new()
        {
            var json       = JsonConvert.SerializeObject(item, Formatting.Indented);
            var folderPath = GetEntityPath <TEntity>();

            if (!Directory.Exists(folderPath))
            {
                Directory.CreateDirectory(folderPath);
            }

            var filename   = _keys.GetKeyValue(item);
            var recordPath = Path.Combine(folderPath, filename + ".json");

            File.WriteAllText(recordPath, json);
        }
Exemple #4
0
        public void Single_Should_Return_Correct_Entity_By_Key()
        {
            // arrange
            var          repository = Instance;
            const string title      = "Top 10 C# Tips";
            var          slug       = title.ToUrlSlug();
            var          entry      = new Entry {
                Slug = slug, Title = title, DateCreated = DateTime.Now
            };

            // act
            repository.Save(entry);

            var keyValue       = Keys.GetKeyValue(entry);
            var retrievedEntry = repository.Single <Entry>(keyValue);

            // assert
            Assert.AreEqual(retrievedEntry.Title, title);
        }
Exemple #5
0
        public void Save <TEntity>(TEntity item) where TEntity : class, new()
        {
            var        key           = _keys.GetKeyValue(item).ToString();
            string     relativePath  = GetItemPath <TEntity>(key);
            var        blobContainer = GetBlobContainer <TEntity>();
            ICloudBlob blob          = blobContainer.GetBlockBlobReference(relativePath);

            if (!typeof(TEntity).Equals(typeof(Image)))
            {
                var json = JsonConvert.SerializeObject(item, Formatting.Indented);
                blob.UploadText(json);
            }
            else
            {
                var image = item as Image;
                // Ensure position is reset so upload occurs successfully
                image.StreamToUpload.Seek(0, SeekOrigin.Begin);
                blob.UploadFromStream(image.StreamToUpload);
            }
        }