public ActionResult CreateTorrent(CreateTorrentModel torrentModel) { var user = ClaimsManager.GetCurrentIdentity(); var isUserAuthenticated = this.userService.CheckIfUserIsAuthenticated(user); var isUserModerator = this.userService.CheckIfUserIsModerator(user); if (!isUserAuthenticated || !isUserModerator) { return(this.RedirectToAction("Index")); } var dynamicModuleManager = this.dynamicModuleManagerProvider.DynamicModuleManager; var imageManager = this.imageManagerProvider.ImageManager; var torrentManager = this.torrentManagerProvider.TorrentManager; var torrentItem = dynamicModuleManager.CreateDataItem(torrentType); var currentUserId = SecurityManager.GetCurrentUserId(); this.torrentService.SetTorrentValues(torrentItem, torrentModel, currentUserId); this.torrentService.SetTorrentImage(imageManager, torrentItem); this.torrentService.SetTorrentFile(torrentManager, torrentItem); dynamicModuleManager.Lifecycle.Publish(torrentItem); dynamicModuleManager.SaveChanges(); return(this.RedirectToAction("TorrentDetails", new { urlName = torrentItem.UrlName })); }
public void SetTorrentValues(DynamicContent torrentItem, CreateTorrentModel torrentModel, Guid currentUserId) { torrentItem.SetValue("Title", torrentModel.Title); torrentItem.SetValue("Description", torrentModel.Description); torrentItem.SetValue("AdditionalInfo", torrentModel.AdditionalInfo); torrentItem.SetValue("Genre", torrentModel.Genre); torrentItem.SetValue("TorrentDateCreated", DateTime.UtcNow); torrentItem.SetString("UrlName", torrentModel.Title); torrentItem.SetValue("PublicationDate", DateTime.UtcNow); torrentItem.SetValue("Owner", currentUserId); torrentItem.ApprovalWorkflowState = "Published"; }
public ActionResult CreateTorrent() { var user = ClaimsManager.GetCurrentIdentity(); var isUserAuthenticated = this.userService.CheckIfUserIsAuthenticated(user); var isUserModerator = this.userService.CheckIfUserIsModerator(user); if (!isUserAuthenticated || !isUserModerator) { return(this.RedirectToAction("Index")); } var torrentModel = new CreateTorrentModel(); return(this.View("TorrentForm", torrentModel)); }