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))); }