public ActionResult Create(GenreEditorModel genreEditorModel, string[] parentGenre)
        {
            if (_genreService.Get(genreEditorModel.Genre.Name) != null)
            {
                ModelState.AddModelError("Name", Resources.Genre.GenreResource.NameExistsError);
            }

            if (ModelState.IsValid)
            {
                var genre = Mapper.Map <GenreViewModel, Genre>(genreEditorModel.Genre);

                var parent = _genreService.Get(parentGenre[0]);

                if (parent != null)
                {
                    genre.ParentId = parent.Id;
                }

                SetTranslate(genre.GenreTranslates, genreEditorModel.Genre);

                _genreService.Create(genre);

                return(RedirectToAction("Index"));
            }

            var genreModel = new GenreEditorModel
            {
                ParentGenres = CreateSelectList(),
                Genre        = genreEditorModel.Genre,
            };

            return(View(genreModel));
        }
        public ViewResult Create()
        {
            var genreModel = new GenreEditorModel
            {
                ParentGenres = CreateSelectList(),
            };

            return(View(genreModel));
        }
        public ViewResult Edit(string name)
        {
            var genre = _genreService.Get(name);

            var genreView = Mapper.Map <Genre, GenreViewModel>(genre);

            string[] parentGenre = null;

            if (genreView.Parent != null)
            {
                parentGenre = new[] { genreView.Parent.Name };
            }

            var genreModel = new GenreEditorModel
            {
                ParentGenres = CreateSelectList(parentGenre),
                Genre        = genreView,
            };

            return(View(genreModel));
        }
        public ActionResult Edit(GenreEditorModel genreEditorModel, string[] parentGenre)
        {
            if (_genreService.Get(genreEditorModel.Genre.Name) != null &&
                _genreService.Get(genreEditorModel.Genre.Name).Id != genreEditorModel.Genre.Id)
            {
                ModelState.AddModelError("Name", Resources.Genre.GenreResource.NameExistsError);
            }

            if (ModelState.IsValid)
            {
                var genreView = genreEditorModel.Genre;
                var genre     = _genreService.GetGenreByByInterimProperty(genreView.Id, genreView.CrossProperty);

                Mapper.Map(genreView, genre);

                var parent = _genreService.Get(parentGenre[0]);

                if (parent != null)
                {
                    genre.ParentId = parent.Id;
                    genre.Parent   = parent;
                }

                SetTranslate(genre.GenreTranslates, genreEditorModel.Genre);

                _genreService.Update(genre);

                return(RedirectToAction("Index"));
            }

            var genreModel = new GenreEditorModel
            {
                ParentGenres = CreateSelectList(parentGenre),
                Genre        = genreEditorModel.Genre,
            };

            return(View(genreModel));
        }