public TeamBase TeamMediaItemAdd(MediaItemAdd newItem) { //get associated item var team = ds.Teams.Find(newItem.TeamId); if (team == null) { return(null); } else { //attempt to add item var addedMediaItem = new MediaItem(); ds.MediaItems.Add(addedMediaItem); //add data properties addedMediaItem.Caption = newItem.Caption; //add associated team addedMediaItem.Team = team; //upload the media item byte[] mediaItemBytes = new byte[newItem.MediaItemUpload.ContentLength]; newItem.MediaItemUpload.InputStream.Read(mediaItemBytes, 0, newItem.MediaItemUpload.ContentLength); //configure the media item properties addedMediaItem.Content = mediaItemBytes; addedMediaItem.ContentType = newItem.MediaItemUpload.ContentType; ds.SaveChanges(); return((addedMediaItem == null) ? null : Mapper.Map <TeamBase>(team)); } }
public ActionResult AddMediaItem(int?id, MediaItemAdd newItem) { if (!ModelState.IsValid && id.GetValueOrDefault() == newItem.TeamId) { var errors = ModelState.Where(x => x.Value.Errors.Any()) .Select(x => new { x.Key, x.Value.Errors }); return(View(newItem)); } var addedMediaItem = m.TeamMediaItemAdd(newItem); if (addedMediaItem == null) { return(View(newItem)); } else { return(RedirectToAction("DetailsWithMediaItems", new { id = addedMediaItem.TeamId })); } }