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