Пример #1
0
        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 })
            });
        }