private void saveCodeActivity_ExecuteCode(object sender, EventArgs e) { string[] files = GetFiles(); var fileContent = new List <string>(); for (int i = 0; i < files.Length; i++) { string bindingPrefix = GetBindingPrefix(i); fileContent.Add(this.GetBinding <string>(bindingPrefix + "Content")); } // Fixing html specific escape sequences in .master file string fixedMaster = PageTemplateHelper.FixHtmlEscapeSequences(fileContent[0]); bool viewNeedsUpdating = fileContent[0] != fixedMaster; fileContent[0] = fixedMaster; EntityToken newEntityToken; if (!CompileAndValidate(files, fileContent, out newEntityToken)) { SetSaveStatus(false); return; } for (int i = 0; i < files.Length; i++) { var websiteFile = new WebsiteFile(files[i]); websiteFile.WriteAllText(fileContent[i]); } PageTemplateProviderRegistry.FlushTemplates(); if (newEntityToken != null) { SetSaveStatus(true, newEntityToken); SerializedEntityToken = EntityTokenSerializer.Serialize(newEntityToken); } else { SetSaveStatus(true); } if (viewNeedsUpdating) { UpdateBinding(GetBindingPrefix(0) + "Content", fixedMaster); RerenderView(); } this.CreateParentTreeRefresher().PostRefreshMesseges(this.EntityToken); }
private void saveCodeActivity_ExecuteCode(object sender, EventArgs e) { var functionEntityToken = (FileBasedFunctionEntityToken)this.EntityToken; FileBasedFunctionProvider <UserControlBasedFunction> provider; FileBasedFunction <UserControlBasedFunction> function; GetProviderAndFunction(functionEntityToken, out provider, out function); string[] files = GetFiles(function); var fileContent = new List <string>(); for (int i = 0; i < files.Length; i++) { string bindingPrefix = GetBindingPrefix(i); fileContent.Add(this.GetBinding <string>(bindingPrefix + "Content")); } string fixedMarkup = PageTemplateHelper.FixHtmlEscapeSequences(fileContent[0]); bool viewShouldBeUpdated = fixedMarkup != fileContent[0]; fileContent[0] = fixedMarkup; if (!CompileAndValidate(files, fileContent)) { SetSaveStatus(false); return; } for (int i = 0; i < files.Length; i++) { var websiteFile = new WebsiteFile(files[i]); websiteFile.WriteAllText(fileContent[i]); } provider.ReloadFunctions(); this.CreateParentTreeRefresher().PostRefreshMesseges(this.EntityToken); SetSaveStatus(true); if (viewShouldBeUpdated) { UpdateBinding(GetBindingPrefix(0) + "Content", fileContent[0]); RerenderView(); } }
private void codeActivity1_ExecuteCode(object sender, EventArgs e) { this.Bindings.Add(Binding_Title, string.Empty); List <KeyValuePair <Guid, string> > templatesOptions = (from template in PageTemplateFacade.GetPageTemplates().OfType <RazorPageTemplateDescriptor>() where template.IsValid orderby template.Title select new KeyValuePair <Guid, string>(template.Id, template.Title)).ToList(); templatesOptions.Insert(0, new KeyValuePair <Guid, string>( Guid.Empty, GetText("AddNewRazorPageTemplate.LabelCopyFromEmptyOption"))); Guid mostUsedTemplate = PageTemplateHelper.GetTheMostUsedTemplate(templatesOptions.Select(p => p.Key)); this.Bindings.Add("CopyOfOptions", templatesOptions); this.Bindings.Add("CopyOfId", mostUsedTemplate); }
private void saveCodeActivity_ExecuteCode(object sender, EventArgs e) { string virtualPath = GetFileVirtualPath(); string filePath = PathUtil.Resolve(virtualPath); WebsiteFile websiteFile = new WebsiteFile(filePath); string content = this.GetBinding <string>("FileContent"); string fixedSource = PageTemplateHelper.FixHtmlEscapeSequences(content); EntityToken newEntityToken; bool isValid = ValidateMarkup(virtualPath, fixedSource, out newEntityToken); if (isValid) { websiteFile.WriteAllText(fixedSource); PageTemplateProviderRegistry.FlushTemplates(); this.CreateParentTreeRefresher().PostRefreshMesseges(this.EntityToken); } if (isValid && newEntityToken != null) { SetSaveStatus(true, newEntityToken); SerializedEntityToken = EntityTokenSerializer.Serialize(newEntityToken); } else { SetSaveStatus(isValid); } if (isValid && fixedSource != content) { UpdateBinding("FileContent", fixedSource); RerenderView(); } }
private void codeActivity1_ExecuteCode(object sender, EventArgs e) { IXmlPageTemplate newPageTemplate = DataFacade.BuildNew <IXmlPageTemplate>(); newPageTemplate.Id = Guid.NewGuid(); newPageTemplate.Title = ""; this.Bindings.Add("NewPageTemplate", newPageTemplate); List <KeyValuePair <Guid, string> > templatesOptions = (from template in PageTemplateFacade.GetPageTemplates() where template is XmlPageTemplateDescriptor && template.IsValid orderby template.Title select new KeyValuePair <Guid, string>(template.Id, template.Title)).ToList(); templatesOptions.Insert(0, new KeyValuePair <Guid, string>( Guid.Empty, GetText("AddNewXmlPageTemplate.LabelCopyFromEmptyOption"))); Guid mostUsedTemplate = PageTemplateHelper.GetTheMostUsedTemplate(templatesOptions.Select(p => p.Key)); this.Bindings.Add("CopyOfOptions", templatesOptions); this.Bindings.Add("CopyOfId", mostUsedTemplate); }
private void saveCodeActivity_ExecuteCode(object sender, EventArgs e) { var functionEntityToken = (FileBasedFunctionEntityToken)this.EntityToken; FileBasedFunctionProvider <RazorBasedFunction> provider; FileBasedFunction <RazorBasedFunction> function; GetProviderAndFunction(functionEntityToken, out provider, out function); string file = GetFile(function); string fileContent = this.GetBinding <string>("FileContent"); string fixedFileContent = PageTemplateHelper.FixHtmlEscapeSequences(fileContent); if (!CompileAndValidate(file, fixedFileContent)) { SetSaveStatus(false); return; } var websiteFile = new WebsiteFile(file); websiteFile.WriteAllText(fixedFileContent); provider.ReloadFunctions(); this.CreateParentTreeRefresher().PostRefreshMesseges(this.EntityToken); SetSaveStatus(true); if (fixedFileContent != fileContent) { UpdateBinding("FileContent", fixedFileContent); RerenderView(); } }