public ActionResult Submit(Site site, ControllerContext controllerContext, SubmissionSetting submissionSetting) { object model = null; Exception exception = null; var formValues = new NameValueCollection(controllerContext.HttpContext.Request.Unvalidated().Form); try { var repository = site.GetRepository(); var valueProvider = new NameValueCollectionProvider(formValues); formValues = PluginHelper.ApplySubmissionSettings(submissionSetting, formValues); var folderName = formValues["FolderName"]; if (!string.IsNullOrEmpty(folderName)) { var folder = FolderHelper.Parse<TextFolder>(repository, folderName); model = DoPost(repository, folder, controllerContext, formValues); } } catch (Exception e) { exception = e; } return PluginHelper.ReturnActionResult(controllerContext, model, exception); }
private void Sync(Site site, Repository orginalRepository, Action<Repository> syncAction) { if (site == null) { return; } Repository siteRepository = site.GetRepository(); if (siteRepository != orginalRepository) { syncAction(siteRepository); } foreach (Site childSite in _siteProvider.ChildSites(site)) { Sync(childSite, siteRepository, syncAction); } }