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); }
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); } }
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); }
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); }
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); } }