Example #1
0
        public ActionResult Edit(SongEditViewModel viewModel)
        {
            var model = viewModel.EditedSong;

            // Note: name is allowed to be whitespace, but not empty.
            if (model.Names.All(n => string.IsNullOrEmpty(n.Value))) {
                ModelState.AddModelError("Names", SongValidationErrors.UnspecifiedNames);
            }

            if (model.Lyrics.Any(n => string.IsNullOrEmpty(n.Value))) {
                ModelState.AddModelError("Lyrics", "Lyrics cannot be empty");
            }

            try {
                viewModel.CheckModel();
            } catch (InvalidFormException x) {
                AddFormSubmissionError(x.Message);
            }

            if (!ModelState.IsValid) {
                return View(new SongEditViewModel(Service.GetSong(model.Id), PermissionContext, model));
            }

            queries.UpdateBasicProperties(model);

            return RedirectToAction("Details", new { id = model.Id });
        }
Example #2
0
        public ActionResult Edit(int id)
        {
            CheckConcurrentEdit(EntryType.Song, id);

            var model = new SongEditViewModel(Service.GetSong(id), PermissionContext);
            return View(model);
        }