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"); }
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"); }
public ActionResult AddArtwork() { var viewModel = new ArtworkViewModel(); return View(viewModel); }
public ActionResult EditArtwork(int artworkId) { var artwork = _artRepository.Get(artworkId); var viewModel = new ArtworkViewModel { Id = artwork.Id, Name = artwork.Name }; return View(viewModel); }