Example #1
0
        public ArtistBase MediaItemAdd(MediaItemAdd newItem)
        {
            var a = ds.Artists.Find(newItem.ArtistId);

            if (a == null)
            {
                return(null);
            }
            else
            {
                // Attempt to add the new item
                var addedItem = new MediaItem();
                ds.MediaItems.Add(addedItem);

                addedItem.Caption = newItem.Caption;
                addedItem.Artists = a;

                // Handle the uploaded photo...

                // First, extract the bytes from the HttpPostedFile object
                byte[] mediaItemBytes = new byte[newItem.MediaItemUpload.ContentLength];
                newItem.MediaItemUpload.InputStream.Read(mediaItemBytes, 0, newItem.MediaItemUpload.ContentLength);

                // Then, configure the new object's properties
                addedItem.Content     = mediaItemBytes;
                addedItem.ContentType = newItem.MediaItemUpload.ContentType;

                ds.SaveChanges();

                return((addedItem == null) ? null : Mapper.Map <Artist, ArtistBase>(a));
            }
        }
Example #2
0
        public ActionResult AddMediaItem(int?id, MediaItemAdd newItem)
        {
            var a = m.ArtistGetByIdWithDetail(id.GetValueOrDefault());

            newItem.ArtistId = a.Id;
            // Validate the input
            if (!ModelState.IsValid)
            {
                return(View(newItem));
            }

            // Process the input
            var addedItem = m.MediaItemAdd(newItem);

            if (addedItem == null)
            {
                return(View(newItem));
            }
            else
            {
                return(RedirectToAction("../artist/details", new { id = addedItem.Id }));
            }
        }