Esempio n. 1
0
        public ActionResult Index(CreateTorrentWidgetModel model)
        {
            if (!_modelStateValidatorService.Validate(ModelState, model))
            {
                // quick solution to populate genres when invalid data is passed on Add torrent
                var genres = _taxonomyService.GetTaxonNamesByTaxonomy(Constants.GenresTaxonomyName);
                model.Genres = genres;
                return(View(model));
            }

            StringBuilder sb = new StringBuilder();

            try
            {
                CreateTorrentDto torrent = DtoCreator.CreateTorrent(model);
                _torrentService.CreateTorrentWithPublish(torrent);

                sb.AppendLine(string.Format(Constants.CreateTorrentSuccessMessage, model.Title));
                TempData.Add(Constants.SuccessMessageKey, sb.ToString());
            }
            catch (Exception exc)
            {
                sb.AppendLine(exc.Message);

                if (exc.InnerException != null)
                {
                    sb.AppendLine(exc.InnerException.Message);
                }

                TempData.Add(Constants.ErrorMessageKey, sb.ToString());
            }

            return(RedirectToAction(nameof(CreateTorrentWidgetController.Index)));
        }