public ActionResult Submit(SuccessStoryWidgetViewModel successStoryWidgetViewModel) { if (ModelState.IsValid) { CreateSuccessStory.CreateStory(successStoryWidgetViewModel: successStoryWidgetViewModel); } return(View("Index", successStoryWidgetViewModel)); }
public static void CreateStory(SuccessStoryWidgetViewModel successStoryWidgetViewModel) { var transactionName = "Submit"; var providerName = "OpenAccessDataProvider"; var versionManager = VersionManager.GetManager(providerName, transactionName); var dynamicModuleProviderName = "OpenAccessProvider"; DynamicModuleManager dynamicModuleManager = DynamicModuleManager.GetManager(dynamicModuleProviderName, transactionName); using (new ElevatedModeRegion(dynamicModuleManager)) //ElevatedModeRegion is set to override access restrictions for given users { Type successStoryType = TypeResolutionService.ResolveType("Telerik.Sitefinity.DynamicTypes.Model.SuccessStories.SuccessStory"); DynamicContent successStoryItem = dynamicModuleManager.CreateDataItem(successStoryType); successStoryItem.SetValue("Title", successStoryWidgetViewModel.Title); successStoryItem.SetValue("Description", successStoryWidgetViewModel.Description); successStoryItem.SetValue("SummaryDescription", successStoryWidgetViewModel.SummaryDescription); successStoryItem.SetValue("ProductsUsed", successStoryWidgetViewModel.ProductsUsed); successStoryItem.SetValue("Company", successStoryWidgetViewModel.Company); successStoryItem.SetValue("CompanyWebsite", successStoryWidgetViewModel.CompanyWebsite); successStoryItem.SetValue("Industry", successStoryWidgetViewModel.Industry); // Get related item manager LibrariesManager thumbnailManager = LibrariesManager.GetManager(); var thumbnailItem = thumbnailManager.GetImages().FirstOrDefault(i => i.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master); if (thumbnailItem != null) { // This is how we relate an item successStoryItem.CreateRelation(thumbnailItem, "Thumbnail"); } //Trimming spaces from the Title, then setting it to Lowercase with the .ToLower() method, so it can be used as a unique URL for a newly submitted Success Story var urlName = successStoryWidgetViewModel.Title; var urlNameNoSpaces = urlName.Replace(" ", ""); successStoryItem.SetString("UrlName", urlNameNoSpaces.ToLower()); successStoryItem.SetValue("Owner", SecurityManager.GetCurrentUserId()); successStoryItem.SetValue("PublicationDate", DateTime.UtcNow); successStoryItem.SetWorkflowStatus(dynamicModuleManager.Provider.ApplicationName, "Draft"); versionManager.CreateVersion(successStoryItem, true); TransactionManager.CommitTransaction(transactionName); } }
public ActionResult Index() { var model = new SuccessStoryWidgetViewModel(); return(View("Index", model)); }