Beispiel #1
0
        public ActionResult AddArtwork(ArtworkViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                foreach (var error in ModelState.Values.SelectMany(m => m.Errors).Select(e => e.ErrorMessage))
                {
                    _orchardServices.Notifier.Error(T(error));
                }
                return RedirectToAction("AddArtwork");
            }

            // If art file with the name already exist we are adding GUID ending
            var fileName = viewModel.Name;
            var existingArtwork = _artRepository.Table
                .FirstOrDefault(a => a.ArtCulture == cultureUsed && a.Name == viewModel.Name);

            if (existingArtwork != null)
            {
                fileName = string.Format(ArtworkFileNameTemplate, viewModel.Name, Guid.NewGuid());
            }

            var success = SaveArtworkImages(
                viewModel.ArtworkSvgImage,
                viewModel.ArtworkPngImage,
                fileName);

            if (!success)
            {
                return RedirectToAction("AddArtwork");
            }

            var art = new ArtRecord
            {
                Name = viewModel.Name,
                FileName = string.Format(ArtworkSvgImageFileNameTemplate, viewModel.Name),
                ArtCulture = cultureUsed
            };
            _artRepository.Create(art);

            _orchardServices.Notifier.Information(T("Artwork \"{0}\" has been added", viewModel.Name));
            return RedirectToAction("Index");
        }
Beispiel #2
0
        public ActionResult EditArtwork(ArtworkViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                foreach (var error in ModelState.Values.SelectMany(m => m.Errors).Select(e => e.ErrorMessage))
                {
                    _orchardServices.Notifier.Error(T(error));
                }
                return RedirectToAction("EditArtwork");
            }

            var artwork = _artRepository.Get(viewModel.Id);

            // If art file with the name already exist we are adding GUID ending
            var fileName = viewModel.Name;
            var existingArtwork = _artRepository.Table
                .FirstOrDefault(a => a.Name == viewModel.Name && a != artwork);

            if (existingArtwork != null)
            {
                fileName = string.Format(ArtworkFileNameTemplate, viewModel.Name, Guid.NewGuid());
            }

            var success = UpdateArtworkImages(
                viewModel.ArtworkSvgImage,
                viewModel.ArtworkPngImage,
                fileName,
                artwork.Name);

            if (!success)
            {
                RedirectToAction("EditArtwork", new {artworkId = artwork.Id});
            }

            artwork.Name = viewModel.Name;
            artwork.FileName = string.Format(ArtworkSvgImageFileNameTemplate, viewModel.Name);
            _artRepository.Update(artwork);

            _orchardServices.Notifier.Information(T("Artwork \"{0}\" has been edited.", artwork.Name));
            return RedirectToAction("Index");
        }
Beispiel #3
0
        public ActionResult AddArtwork()
        {
            var viewModel = new ArtworkViewModel();

            return View(viewModel);
        }
Beispiel #4
0
        public ActionResult EditArtwork(int artworkId)
        {
            var artwork = _artRepository.Get(artworkId);

            var viewModel = new ArtworkViewModel
            {
                Id = artwork.Id,
                Name = artwork.Name
            };

            return View(viewModel);
        }