示例#1
0
        public ArtistBaseViewModel ArtistMediaItemAddNew(MediaItemAddViewModel newMediaItem)
        {
            var artist = ds.Artists.Find(newMediaItem.ArtistId);

            if (artist == null)
            {
                return(null);
            }
            else
            {
                var addedMediaItem = new MediaItem();
                ds.MediaItems.Add(addedMediaItem);

                addedMediaItem.Caption = newMediaItem.Caption;
                addedMediaItem.Artist  = artist;

                byte[] mediaItemBytes = new byte[newMediaItem.MediaItemUpload.ContentLength];
                newMediaItem.MediaItemUpload.InputStream.Read(mediaItemBytes, 0, newMediaItem.MediaItemUpload.ContentLength);

                addedMediaItem.Content     = mediaItemBytes;
                addedMediaItem.ContentType = newMediaItem.MediaItemUpload.ContentType;
                addedMediaItem.Artist      = artist;

                ds.SaveChanges();

                return(addedMediaItem == null ? null : mapper.Map <Artist, ArtistBaseViewModel>(artist));
            }
        }
示例#2
0
        public ContentResult AddFromClient()
        {
            if (!Services.Authorizer.Authorize(Permissions.ManageMedia))
            {
                return(Content(string.Format("<script type=\"text/javascript\">var result = {{ error: \"{0}\" }};</script>", T("ERROR: You don't have permission to upload media files"))));
            }

            var viewModel = new MediaItemAddViewModel();

            try {
                UpdateModel(viewModel);

                if (Request.Files.Count < 1 || Request.Files[0].ContentLength == 0)
                {
                    return(Content(string.Format("<script type=\"text/javascript\">var result = {{ error: \"{0}\" }};</script>", T("HEY: You didn't give me a file to upload"))));
                }

                try {
                    _mediaService.GetMediaFiles(viewModel.MediaPath);
                }
                catch //media api needs a little work, like everything else of course ;) <- ;) == my stuff included. to clarify I need a way to know if the path exists or have UploadMediaFile create paths as necessary but there isn't the time to hook that up in the near future
                {
                    _mediaService.CreateFolder("", viewModel.MediaPath);
                }

                var file      = Request.Files[0];
                var publicUrl = _mediaService.UploadMediaFile(viewModel.MediaPath, file, viewModel.ExtractZip);

                return(Content(string.Format("<script type=\"text/javascript\">var result = {{ url: \"{0}\" }};</script>", publicUrl)));
            }
            catch (Exception exception) {
                return(Content(string.Format("<script type=\"text/javascript\">var result = {{ error: \"{0}\" }};</script>", T("ERROR: Uploading media file failed: {0}", exception.Message))));
            }
        }
        public ArtistBaseViewModel AddMediaItemToArtist(MediaItemAddViewModel newItem)
        {
            var a = ds.Artists.Find(newItem.ArtistId);

            if (a == null)
            {
                return(null);
            }
            else
            {
                var addedItem = new MediaItem();
                ds.MediaItems.Add(addedItem);
                addedItem.Caption = newItem.Caption;
                addedItem.Artist  = a;
                byte[] mediaByte = new byte[newItem.MediaUpload.ContentLength];
                newItem.MediaUpload.InputStream.Read(mediaByte, 0, newItem.MediaUpload.ContentLength);

                addedItem.Content     = mediaByte;
                addedItem.ContentType = newItem.MediaUpload.ContentType;

                ds.SaveChanges();

                return((addedItem == null) ? null : mapper.Map <Artist, ArtistBaseViewModel>(a));
            }
        }
示例#4
0
        public ActionResult Add()
        {
            if (!Services.Authorizer.Authorize(Permissions.ManageMedia, T("Couldn't upload media file")))
            {
                return(new HttpUnauthorizedResult());
            }

            var viewModel = new MediaItemAddViewModel();

            try {
                UpdateModel(viewModel);

                if (String.IsNullOrWhiteSpace(Request.Files[0].FileName))
                {
                    ModelState.AddModelError("File", T("Select a file to upload").ToString());
                }

                if (!ModelState.IsValid)
                {
                    return(View(viewModel));
                }

                foreach (string fileName in Request.Files)
                {
                    _mediaService.UploadMediaFile(viewModel.MediaPath, Request.Files[fileName], viewModel.ExtractZip);
                }

                Services.Notifier.Information(T("Media file(s) uploaded"));
                return(RedirectToAction("Edit", new { name = viewModel.FolderName, mediaPath = viewModel.MediaPath }));
            } catch (Exception exception) {
                this.Error(exception, T("Uploading media file failed:"), Logger, Services.Notifier);

                return(View(viewModel));
            }
        }
        //15 - Media Item Add
        public ArtistWithMediaInfoViewModel MediaItemAdd(MediaItemAddViewModel newItem)
        {
            var artist = ds.Artists.Find(newItem.ArtistId);

            if (artist == null)
            {
                return(null);
            }
            else
            {
                // Attempt to add the new item
                var addedMedia = ds.MediaItems.Add(mapper.Map <MediaItemAddViewModel, MediaItem>(newItem));

                addedMedia.ContentType = newItem.Upload.ContentType;
                byte[] mediaBytes = new byte[newItem.Upload.ContentLength];
                newItem.Upload.InputStream.Read(mediaBytes, 0, newItem.Upload.ContentLength);

                addedMedia.Content = mediaBytes;
                artist.MediaItems.Add(addedMedia);

                ds.SaveChanges();

                return((artist == null) ? null : mapper.Map <Artist, ArtistWithMediaInfoViewModel>(artist));
            }
        }
示例#6
0
        public ActionResult Add(string folderName, string mediaPath)
        {
            var model = new MediaItemAddViewModel {
                FolderName = folderName, MediaPath = mediaPath
            };

            return(View(model));
        }
示例#7
0
        public ActionResult AddMedia(int?id, MediaItemAddViewModel newItem)
        {
            if (!ModelState.IsValid)
            {
                return(View(newItem));
            }
            var addedItem = m.AddMediaItemToArtist(newItem);

            if (addedItem == null)
            {
                return(View(newItem));
            }
            else
            {
                return(RedirectToAction("details", new { id = addedItem.Id }));
            }
        }
示例#8
0
        public ActionResult AddMediaItem(int?id, MediaItemAddViewModel newItem)
        {
            if (!ModelState.IsValid && id.GetValueOrDefault() == newItem.ArtistId)
            {
                return(View(newItem));
            }

            var addedItem = m.ArtistMediaItemAddNew(newItem);

            if (addedItem == null)
            {
                return(View(newItem));
            }
            else
            {
                return(RedirectToAction("DetailsWithMediaItems", new { id = addedItem.Id }));
            }
        }
示例#9
0
        public ActionResult Add(string folderName, string mediaPath)
        {
            if (!Services.Authorizer.Authorize(Permissions.ManageMedia, T("Couldn't upload media file")))
            {
                return(new HttpUnauthorizedResult());
            }

            var currentSite = Services.WorkContext.CurrentSite;

            var model = new MediaItemAddViewModel {
                FolderName        = folderName,
                MediaPath         = mediaPath,
                AllowedExtensions = currentSite.As <MediaSettingsPart>().UploadAllowedFileTypeWhitelist
            };

            if (currentSite.SuperUser.Equals(Services.WorkContext.CurrentUser.UserName, StringComparison.Ordinal))
            {
                model.AllowedExtensions = String.Empty;
            }

            return(View(model));
        }
        public ActionResult AddMediaItem(MediaItemAddViewModel newItem)
        {
            var a = m.ArtistGetById(newItem.ArtistId);

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

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

            if (addedItem == null)
            {
                var form = new MediaItemAddFormViewModel();
                form.ArtistId = a.Id;
                return(View(form));
            }
            else
            {
                return(RedirectToAction("Details", "Artist", new { id = addedItem.Id }));
            }
        }