public BlogItem Get(int id) { BlogDB.PostEntry postEntry = BlogDB.Get(id); AuthorDB.AuthorEntry authorEntry = AuthorDB.Get(postEntry.AuthorId); BlogItem item = new BlogItem { Id = postEntry.Id, Title = postEntry.Title, Text = postEntry.Text, CreatedDate = postEntry.CreatedDate, AuthorName = authorEntry.Name }; item.SelfLink = typeof(BlogItem).CreateUri(new { Id = postEntry.Id }); item.UpLink = typeof(BlogList).CreateUri(); item.AuthorLink = typeof(Author).CreateUri(new { Id = authorEntry.Id }); if (postEntry.ImageId != null) { item.ImageLink = typeof(Image).CreateUri(new { Id = postEntry.ImageId }); } return(item); }
public object Post(BlogItemInput input) { int? imageId = null; MemoryStream imageData = new MemoryStream(); if (input.Image != null && input.Image.Length > 0) { CopyStream(input.Image.OpenStream(), imageData); ImageDB.ImageEntry imageEntry = ImageDB.AddImage(input.Image.FileName, input.Image.ContentType, imageData); imageId = imageEntry.Id; } BlogDB.PostEntry postEntry = BlogDB.AddPost(input.Title, input.Text, 1, imageId); BlogItemHandler h = new BlogItemHandler(); BlogItem createdItem = h.Get(postEntry.Id); return(new OperationResult.Created { ResponseResource = createdItem, RedirectLocation = typeof(BlogItem).CreateUri(new { id = postEntry.Id }) }); }