예제 #1
0
        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);
            }
        }
예제 #3
0
        public ActionResult Index()
        {
            var model = new SuccessStoryWidgetViewModel();

            return(View("Index", model));
        }