public static void CreateTemplate(string Name, string Expansion, string CategoryName, ContextPickerData Context) { Template Template = GetOrCreateTemplateByNameAndCat(Name, CategoryName, CodeRush.Language.Active); TemplateData Data = new TemplateData(); Data.Expansion = Expansion; Data.SetContext(Context); switch (Template.Items.Count) { case 0: Template.Items.Add(Data); break; case 1: DialogResult Replace = MessageBox.Show("This Template already exists. Would you like to replace the old Template?", "Template already exists", MessageBoxButtons.YesNoCancel); switch (Replace) { case DialogResult.Yes: //Replace Existing Template Variations Template.Items.Clear(); Template.Items.Add(Data); break; case DialogResult.No: // Add this variation to those already existing. Template.Items.Add(Data); break; default: return; // Cancel } break; default: // Many alternatives MessageBox.Show("Multiple Template expansions found. Aborting."); return; } CodeRush.Templates.Save(); }
public virtual object RunScriptFunction(string functionName, ref object[] parameters) { object obj; switch (functionName) { case "CustomNewProjectScreens": List <INewProjectScreen> screens = (List <INewProjectScreen>)parameters[0]; TemplateGen.CustomNewProjectScreens(out screens); obj = (object)null; parameters[0] = (object)screens; break; case "LoadProjectOutput": string outputFolder = (string)parameters[0]; IEnumerable <ProviderInfo> provider = (IEnumerable <ProviderInfo>)parameters[1]; TemplateData extraData = (TemplateData)parameters[2]; TemplateGen.LoadProjectOutput(outputFolder, provider, extraData); obj = (object)null; parameters[0] = (object)outputFolder; parameters[1] = (object)provider; parameters[2] = (object)extraData; break; case "PreGenerationModelInitialisation": ProviderInfo providerInfo = (ProviderInfo)parameters[0]; PreGenerationData data = (PreGenerationData)parameters[1]; TemplateGen.PreGenerationModelInitialisation(providerInfo, data); obj = (object)null; parameters[0] = (object)providerInfo; parameters[1] = (object)data; break; case "InternalFunctions.MustSkipCurrentFile": return((object)(int)(ScriptFunctionWrapper.instance.SkipCurrentFile ? 1 : 0)); case "InternalFunctions.ResetSkipCurrentFile": ScriptFunctionWrapper.instance.SkipCurrentFile = false; return((object)null); case "InternalFunctions.GetCurrentFileName": return((object)ScriptFunctionWrapper.instance.CurrentFileName); case "InternalFunctions.ResetCurrentFileName": ScriptFunctionWrapper.instance.CurrentFileName = ""; return((object)null); case "InternalFunctions.SetGeneratedFileName": ScriptFunctionWrapper.instance.GeneratedFileName = (string)parameters[0]; return((object)null); case "InternalFunctions.ClearTemplateCache": ScriptFunctionWrapper.instance.ClearTemplateCache(); return((object)null); default: throw new Exception("Function not handled in RunScriptFunction:" + functionName); } return(obj); }
/// <summary> /// Generate entity type constructor. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected virtual void GenerateConstructor(IEntityType entityType) { if (entityType == null) { throw new ArgumentNullException(nameof(entityType)); } var collectionNavigations = entityType.GetNavigations().Where(n => n.IsCollection()).ToList(); if (collectionNavigations.Count > 0) { var lines = new List <Dictionary <string, object> >(); foreach (var navigation in collectionNavigations) { lines.Add(new Dictionary <string, object> { { "property-name", navigation.Name }, { "property-type", navigation.GetTargetType().Name }, }); } var transformedLines = EntityTypeTransformationService.TransformConstructor(lines); TemplateData.Add("lines", transformedLines); } }
public string Render(string input, TemplateData data, HttpRequestBase request) { // perform template replacement var a = data.Aggregate( input, (current, pair) => current.Replace("{" + pair.Key + "}", pair.Value) ); // perform url replacements var x = a.IndexOf("\"~/"); while (x >= 0) { var y = a.IndexOf("\"", x + 3); if (y < x) { y = x; } else { a = a.Substring(0, x + 1) + a.Substring(x + 1, y - x).ToAbsoluteUrl(request) + a.Substring(y + 1); } x = a.IndexOf("\"~/", y); } return(a); }
/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected virtual void GenerateNavigationProperties(IEntityType entityType) { if (entityType == null) { throw new ArgumentNullException(nameof(entityType)); } var sortedNavigations = entityType.GetNavigations() .OrderBy(n => n.IsDependentToPrincipal() ? 0 : 1) .ThenBy(n => n.IsCollection() ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { navProperties.Add(new Dictionary <string, object> { { "nav-property-collection", navigation.IsCollection() }, { "nav-property-type", navigation.GetTargetType().Name }, { "nav-property-name", TypeScriptHelper.ToCamelCase(navigation.Name) }, { "nav-property-annotations", new List <Dictionary <string, object> >() }, }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
public Email Transform(Template template, TemplateData data, HttpRequestBase request) { return(new Email { Subject = Render(template.Subject, data, request), Body = Render(template.Content, data, request), }); }
public Email Transform(Template template, TemplateData data, HttpRequestBase request) { return new Email { Subject = Render(template.Subject, data, request), Body = Render(template.Content, data, request), }; }
private void InitializeFromTemplate(TemplateData template) { var staffRecips = new List <StaffSummary>(); var groupRecips = new List <StaffGroupSummary>(); if (template != null) { var staffRecipIds = template.GetStaffRecipients(); var groupRecipIds = template.GetGroupRecipients(); if (staffRecipIds.Count > 0 || groupRecipIds.Count > 0) { // load the recipient staff/groups defined in the template Platform.GetService <IOrderNoteService>( service => { var formDataRequest = new GetConversationEditorFormDataRequest(staffRecipIds, groupRecipIds); var formDataResponse = service.GetConversationEditorFormData(formDataRequest); staffRecips = formDataResponse.RecipientStaffs; groupRecips = formDataResponse.RecipientStaffGroups; }); } } InitializeFromTemplate(template, staffRecips, groupRecips); }
/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateNavigationProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var sortedNavigations = entityType.GetScaffoldNavigations(_options.Value) .OrderBy(n => n.IsDependentToPrincipal() ? 0 : 1) .ThenBy(n => n.IsCollection() ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { NavPropertyAnnotations = new List <Dictionary <string, object> >(); if (UseDataAnnotations) { GenerateNavigationDataAnnotations(navigation); } navProperties.Add(new Dictionary <string, object> { { "nav-property-collection", navigation.IsCollection() }, { "nav-property-type", navigation.GetTargetType().Name }, { "nav-property-name", navigation.Name }, { "nav-property-annotations", NavPropertyAnnotations }, }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
/// <summary> /// Generate entity type properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var properties = new List <Dictionary <string, object> >(); foreach (var property in entityType.GetProperties().OrderBy(p => p.GetColumnOrdinal())) { PropertyAnnotationsData = new List <Dictionary <string, object> >(); if (UseDataAnnotations) { GeneratePropertyDataAnnotations(property); } properties.Add(new Dictionary <string, object> { { "property-type", CSharpHelper.Reference(property.ClrType) }, { "property-name", property.Name }, { "property-annotations", PropertyAnnotationsData } }); } var transformedProperties = EntityTypeTransformationService.TransformProperties(properties); TemplateData.Add("properties", transformedProperties); }
public TemplateData GetTemplate(string tpl_id) { SQLiteConnection connection = new SQLiteConnection(connectionString); connection.Open(); SQLiteCommand cmd = new SQLiteCommand("select * from sms_template where tpl_id=" + tpl_id, connection); SQLiteDataReader reader = null; TemplateData templateData = null; try { reader = cmd.ExecuteReader(); if (reader.HasRows) { reader.Read(); templateData = new TemplateData(); templateData.tpl_id = reader["tpl_id"].ToString(); templateData.app_id = reader["app_id"].ToString(); templateData.app_secret = reader["app_secret"].ToString(); templateData.access_token = reader["access_token"].ToString(); templateData.expire = Convert.ToInt64(reader["expire"]); templateData.name = reader["name"].ToString(); templateData.content = reader["content"].ToString(); } } catch (SQLiteException) { } finally { reader.Close(); connection.Close(); } return(templateData); }
/// <summary> /// Resolves the value for the given expression. /// </summary> /// <param name="context">The render context.</param> /// <param name="templateData">The template data.</param> /// <param name="expression">The expression.</param> /// <param name="isVariableLookup">True if this is a variable lookup, otherwise false.</param> /// <returns>The resolved value.</returns> public object ResolveValue(RenderContext context, TemplateData templateData, string expression, bool isVariableLookup) { if (isVariableLookup && !string.IsNullOrEmpty(expression) && !expression.StartsWith("root.")) { return(context.GetVariable(expression)); } if (isVariableLookup && !string.IsNullOrEmpty(expression) && expression.StartsWith("root.")) { context = context.RootRenderContext ?? context; templateData = context.TemplateData; expression = expression.Substring(5); } var modelMetadata = ExpressionMetadataProvider.FromStringExpression(expression, templateData, context.ModelMetadataProvider); if (modelMetadata == null || !modelMetadata.Valid) { if (context.UnknownValueResolver != null) { return(context.UnknownValueResolver(expression)); } return(null); } return(modelMetadata.Model); }
public async Task CreateTemplate_OK() { var templateData = new TemplateData() { TemplateName = "T01" }; repository.Setup(r => r.CreateTemplate("T01", It.IsAny <Stream>())).Returns((string _, Stream bytes) => Task.FromResult(new TemplateContent() { Name = "T01_V01", TemplateName = "T01", TemplateVersion = "V01", FileName = "T01A.docx", Path = "/files/T01A.docx", Size = 42, Timestamp = MockData.Timestamp(1), Buffer = bytes })); var result = await processor.CreateTemplate(templateData, new MemoryStream(Resources.find_template_fields001_docx)); Assert.NotNull(result); Assert.Equal("T01", result.TemplateName); Assert.Equal("T01A.docx", result.FileName); Assert.Equal("V01", result.Version); Assert.Equal(MockData.Timestamp(1), result.Timestamp); Assert.Equal(42, result.Size); Assert.NotEqual(0, result.Buffer.Length); Assert.NotEmpty(result.Fields); }
/// <summary> /// Generate entity type data annotations. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateEntityTypeDataAnnotations(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); //GenerateTableAttribute(entityType); ClassAnnotationsData = new List <Dictionary <string, object> >(); GenerateKeylessAttribute(entityType); GenerateTableAttribute(entityType); GenerateIndexAttributes(entityType); var annotations = AnnotationCodeGenerator .FilterIgnoredAnnotations(entityType.GetAnnotations()) .ToDictionary(a => a.Name, a => a); AnnotationCodeGenerator.RemoveAnnotationsHandledByConventions(entityType, annotations); foreach (var attribute in AnnotationCodeGenerator.GenerateDataAnnotationAttributes(entityType, annotations)) { var attributeWriter = new AttributeWriter(attribute.Type.Name); foreach (var argument in attribute.Arguments) { attributeWriter.AddParameter(CSharpHelper.UnknownLiteral(argument)); } } TemplateData.Add("class-annotations", ClassAnnotationsData); }
private static void FillByTemplate(WordprocessingDocument doc, TemplateData template) { try { if (template != null) { Body body = doc.MainDocumentPart.Document.Body; FillTable(body.Descendants <Table>(), template.Tables); FillShape(body.Descendants <WordprocessingShape>(), template.TextShapes); foreach (HeaderPart headerPart in doc.MainDocumentPart.HeaderParts) { FillShape(headerPart.Header.Descendants <WordprocessingShape>(), template.HeaderTextShape); } foreach (FooterPart footerPart in doc.MainDocumentPart.FooterParts) { FillShape(footerPart.Footer.Descendants <WordprocessingShape>(), template.FooterTextShapes); } doc.Save(); } doc.Close(); } catch (Exception e) { doc.Close(); throw e; } }
public async Task <ApiGatewayComponent> InitializeAt( Components.ComponentTree tree, ComponentData data, ProjectSettings settings) { var configPath = Path.Combine(tree.Path.FullName, ApiGatewayComponent.ConfigFileName); if (File.Exists(configPath)) { throw new InvalidOperationException($"You can't add a new api at: \"{tree.Path.FullName}\". It already exists."); } var port = data.Port ?? ProjectSettings.GetRandomUnusedPort(); await Templates.Extract( ApiGatewayComponent.ConfigFileName, configPath, Templates.TemplateType.Infrastructure, ("API_NAME", TemplateData.SanitizeResourceName(data.Name)), ("PORT", port.ToString()), ("DEFAULT_LANGUAGE", data.DefaultLanguage), ("BASE_URL", data.BaseUrl)); return(await ApiGatewayComponent.Init(tree.Path, settings)); }
public async Task <Response> SendNewsletterAsync( string opportunityHtml) { var apikey = Environment.GetEnvironmentVariable("sendgrid_api_key"); var infoFromEmail = Environment.GetEnvironmentVariable("info_from_email"); var infoFromName = Environment.GetEnvironmentVariable("info_from_name"); var client = new SendGridClient(apikey); var templateData = new TemplateData { OpportunityHtml = opportunityHtml, }; var msg = new SendGridMessage(); msg.SetFrom(new EmailAddress(infoFromEmail, infoFromName)); msg.SetTemplateId(Environment.GetEnvironmentVariable("newsletter_template_id")); msg.Personalizations = (await GetAllNewsletterContactsAsync()) .Select(x => new Personalization() { Tos = new List <EmailAddress>() { new EmailAddress(x.email, GetFirstNameOrEmpty(x)) }, TemplateData = templateData } ).ToList(); msg.SetAsm(int.Parse(Environment.GetEnvironmentVariable("volly_newsletter_unsubscribe_id"))); return(await client.SendEmailAsync(msg)); }
public string Resolve(CodeGenerationContext context, TemplateData templateData) { var projectPath = ResolveProjectPath(context); var sourceFolders = ListSourceFolders(templateData); return(Path.Combine(projectPath, string.Join("\\", sourceFolders))); }
/// <summary> /// Generate entity type constructor. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateConstructor(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var collectionNavigations = entityType.GetScaffoldNavigations(_options.Value) .Where(n => n.IsCollection).ToList(); if (collectionNavigations.Count > 0) { var lines = new List <Dictionary <string, object> >(); foreach (var navigation in collectionNavigations) { lines.Add(new Dictionary <string, object> { { "property-name", navigation.Name }, { "property-type", navigation.TargetEntityType.Name } }); } var transformedLines = EntityTypeTransformationService.TransformConstructor(entityType.Name, lines); TemplateData.Add("lines", transformedLines); } }
/// <summary> /// Generate the DbContext class. /// </summary> /// <param name="model">Metadata about the shape of entities, the relationships between them, and how they map to the database.</param> /// <param name="contextName">Name of DbContext class.</param> /// <param name="connectionString">Database connection string.</param> /// <param name="useDataAnnotations">Use fluent modeling API if false.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> protected virtual void GenerateClass( IModel model, string contextName, string connectionString, bool useDataAnnotations, bool suppressConnectionStringWarning) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (contextName == null) { throw new ArgumentNullException(nameof(contextName)); } if (connectionString == null) { throw new ArgumentNullException(nameof(connectionString)); } TemplateData.Add("class", contextName); GenerateDbSets(model); GenerateEntityTypeErrors(model); GenerateOnConfiguring(connectionString, suppressConnectionStringWarning); GenerateOnModelCreating(model, useDataAnnotations); }
private void GenerateCode(GenerationParameter parameter, ITemplateEngine templateEngine, string templateName, ref int genratedCount, ref int errorCount, ref int progressCount, AsyncOperation asyncOp) { foreach (string modelId in parameter.GenerationObjects.Keys) { string codeFileNamePath = PathHelper.GetCodeFileNamePath(ConfigManager.GenerationCodeOuputPath, ConfigManager.SettingsSection.Languages[parameter.Settings.Language].Alias, ConfigManager.SettingsSection.TemplateEngines[parameter.Settings.TemplateEngine].Name, ConfigManager.TemplateSection.Templates[templateName].DisplayName, parameter.Settings.Package, modelId); PathHelper.CreateCodeFileNamePath(codeFileNamePath); foreach (string objId in parameter.GenerationObjects[modelId]) { IMetaData modelObject = ModelManager.GetModelObject(parameter.Models[modelId], objId); TemplateData templateData = TemplateDataBuilder.Build(modelObject, parameter.Settings, templateName, parameter.Models[modelId].Database, modelId); if (templateData == null || !templateEngine.Run(templateData)) { errorCount++; } else { genratedCount++; } string currentCodeFileName = templateData == null ? string.Empty : templateData.CodeFileName; var args = new GenerationProgressChangedEventArgs(genratedCount, errorCount, currentCodeFileName, ++progressCount, asyncOp.UserSuppliedState); asyncOp.Post(this.onProgressReportDelegate, args); } } }
private IDictionary <string, object> TemplateMetadataToJson(TemplateData templateData, string preferredLang, string filterTagId = null) { var templateLang = GetTemplateLanguage(templateData, preferredLang); if (filterTagId != null && !templateData.TagIds.Contains(filterTagId)) { return(null); } var result = new Dictionary <string, object> { ["id"] = templateData.Id, ["time"] = templateData.TimeStamp }; if (templateData.Authors.Count != 0) { result["authors"] = templateData.Authors.Select(a => !string.IsNullOrEmpty(a.Contact) ? (object)new { name = a.Name, contact = a.Contact } : new { name = a.Name }).ToArray(); } result["supportedLanguages"] = templateData.SupportedLanguages; result["currentLanguage"] = templateLang; result["title"] = templateData.Title[templateLang]; if (!string.IsNullOrEmpty(templateData.Description[templateLang])) { result["description"] = templateData.Description[templateLang]; } result["snomedVersion"] = templateData.SnomedVersion; result["snomedBranch"] = templateData.SnomedBranch; result["tags"] = templateData.TagIds.Select(tagId => templateRepository.GetTagName(tagId, preferredLang)).Where(t => !string.IsNullOrEmpty(t)).ToList(); if (!string.IsNullOrEmpty(templateData.StringFormat[templateLang])) { result["stringFormat"] = templateData.StringFormat[templateLang]; } return(result); }
/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateNavigationProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var sortedNavigations = entityType.GetNavigations() .OrderBy(n => n.IsOnDependent ? 0 : 1) .ThenBy(n => n.IsCollection ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { // TODO: Resolve TransformNavPropertyName() method NavEntityPropertyInfo navEntityPropertyInfo = ResolvingNamesService.ResolvingName(navigation); navProperties.Add(new Dictionary <string, object> { { "foregin-entity-name", navEntityPropertyInfo.ForeginEntityName }, { "field-name", navEntityPropertyInfo.FieldName }, { "nav-property-collection", navigation.IsCollection }, { "nav-property-type", navigation.TargetEntityType.Name }, { "nav-property-name", TypeScriptHelper.ToCamelCase(navigation.Name) }, { "nav-property-annotations", new List <Dictionary <string, object> >() }, { "nullable-reference-types", _options?.Value?.EnableNullableReferenceTypes == true } }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(entityType.Name, navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
public override void Update(SignalDispatch <TKey> item, TemplateData templateData) { var emailDispatch = (EmailDispatch <TKey>)item; emailDispatch.MessageSubject = FillTemplateProperty(SubjectProvider, SubjectTransformer, templateData); emailDispatch.MessageBody = FillTemplateProperty(BodyProvider, BodyTransformer, templateData); }
public async Task <ClientComponent> InitializeAt( Components.ComponentTree tree, ComponentData data, ProjectSettings settings) { var configFile = Path.Combine(tree.Path.FullName, ClientComponent.ConfigFileName); if (File.Exists(configFile)) { throw new InvalidOperationException($"You can't create a client at \"{tree.Path.FullName}\". It already exists."); } var clientPort = data.Port ?? ProjectSettings.GetRandomUnusedPort(); await TypeHandlers[data.ClientType](tree.Path, settings, data.Name); await Templates.Extract( ClientComponent.ConfigFileName, configFile, Templates.TemplateType.Infrastructure, ("NAME", TemplateData.SanitizeResourceName(data.Name)), ("PORT", clientPort.ToString()), ("TYPE", data.ClientType.ToString()), ("PATH", settings.GetRelativePath( tree.Path.FullName, tree.FindFirst <TerraformRootComponent>(Components.Direction.Out)?.FoundAt.Path.FullName))); return(await ClientComponent.Init(tree.Path, x => CreateBaseContainer(tree.Path, settings, x.Name), settings)); }
public string Render(string input, TemplateData data, HttpRequestBase request) { // perform template replacement var a = data.Aggregate( input, (current, pair) => current.Replace("{" + pair.Key + "}", pair.Value) ); // perform url replacements var x = a.IndexOf("\"~/"); while (x >= 0) { var y = a.IndexOf("\"", x+3); if (y < x) { y = x; } else { a = a.Substring(0, x+1) + a.Substring(x+1, y - x).ToAbsoluteUrl(request) + a.Substring(y+1); } x = a.IndexOf("\"~/", y); } return a; }
public override void Update(SignalDispatch <TKey> item, TemplateData templateData) { var dispatch = (StoredNotificationDispatch <TKey>)item; dispatch.MessageSubject = FillTemplateProperty(SubjectProvider, SubjectTransformer, templateData); dispatch.MessageBody = FillTemplateProperty(BodyProvider, BodyTransformer, templateData); }
/// <summary> /// Generate entity type navigation properties. /// </summary> /// <param name="entityType">Represents an entity type in an <see cref="T:Microsoft.EntityFrameworkCore.Metadata.IModel" />.</param> protected override void GenerateNavigationProperties(IEntityType entityType) { Check.NotNull(entityType, nameof(entityType)); var sortedNavigations = entityType.GetNavigations() .OrderBy(n => n.IsDependentToPrincipal() ? 0 : 1) .ThenBy(n => n.IsCollection() ? 1 : 0); if (sortedNavigations.Any()) { var navProperties = new List <Dictionary <string, object> >(); foreach (var navigation in sortedNavigations) { navProperties.Add(new Dictionary <string, object> { { "nav-property-collection", navigation.IsCollection() }, { "nav-property-type", navigation.GetTargetType().Name }, { "nav-property-name", TypeScriptHelper.ToCamelCase(navigation.Name) }, { "nav-property-annotations", new List <Dictionary <string, object> >() }, { "nullable-reference-types", _options?.Value?.EnableNullableReferenceTypes == true } }); } var transformedNavProperties = EntityTypeTransformationService.TransformNavigationProperties(navProperties); TemplateData.Add("nav-properties", transformedNavProperties); } }
public async Task <TemplateData> GetCloudformationData(Components.ComponentTree components) { var template = (await components .FindAll <ICloudformationComponent>(Components.Direction.In) .Select(x => x.component?.GetCloudformationData(x.tree)) .WhenAll()) .Merge(); var currentTemplate = new TemplateData(); foreach (var configOverride in _configuration.Overrides) { var matchingResources = template .Resources .Where(x => x.Value.Type == configOverride.Type) .ToImmutableList(); foreach (var resource in matchingResources) { currentTemplate.Resources[resource.Key] = new TemplateData.ResourceData { Type = resource.Value.Type, Properties = configOverride.Properties }; } } return(currentTemplate); }
/// <summary> /// 空のテンプレート情報を作成する /// </summary> /// <returns>空のテンプレートデータ</returns> internal TemplateData CreateEmptyTemplate() { var result = new TemplateData() { LogList = new ObservableCollection <TemplateDetailData>() }; using (var database = new MyLogDatabase(Constants.DatabaseFile())) { database.Open(); var categoryEntity = new CategoryEntity(database); var categories = new Dictionary <long, string>(); using (var recset = categoryEntity.Select()) { while (recset.Read()) { if (!recset.GetBool(CategoryEntity.Cols.Visible)) { continue; } result.LogList.Add(new TemplateDetailData() { CategoryId = recset.GetLong(CategoryEntity.Cols.Id), CategoryName = recset.GetString(CategoryEntity.Cols.Name), IsCategory = true }); } } } return(result); }
/// <summary> /// Generate OnConfiguring method. /// </summary> /// <param name="connectionString">Database connection string.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> protected virtual void GenerateOnConfiguring( string connectionString, bool suppressConnectionStringWarning) { if (connectionString == null) { throw new ArgumentNullException(nameof(connectionString)); } var sb = new IndentedStringBuilder(); using (sb.Indent()) { sb.IncrementIndent(); sb.AppendLine("protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)"); sb.AppendLine("{"); using (sb.Indent()) { sb.AppendLine("if (!optionsBuilder.IsConfigured)"); sb.AppendLine("{"); if (HandlebarsScaffoldingOptions.IncludeConnectionString) { using (sb.Indent()) { if (!suppressConnectionStringWarning) { sb.DecrementIndent() .DecrementIndent() .DecrementIndent() .DecrementIndent() .AppendLine("#warning " + DesignStrings.SensitiveInformationWarning) .IncrementIndent() .IncrementIndent() .IncrementIndent() .IncrementIndent(); } sb.Append("optionsBuilder") .Append( ProviderConfigurationCodeGenerator != null ? CSharpHelper.Fragment( ProviderConfigurationCodeGenerator.GenerateUseProvider(connectionString, null)) #pragma warning disable CS0618 // Type or member is obsolete : LegacyProviderCodeGenerator.GenerateUseProvider(connectionString, Language)) #pragma warning restore CS0618 // Type or member is obsolete .AppendLine(";"); } } sb.AppendLine("}"); } sb.AppendLine("}"); var onConfiguring = sb.ToString(); TemplateData.Add("on-configuring", onConfiguring); } }
public void When_EntityIsDeleted_Then_DeletedDateIsPopulated() { var template = TemplateData.GetValidTemplate(); template.Delete(); Assert.NotNull(template.DeletedAt); }
public void Template_engine_performs_data_replacements() { var service = new BasicTemplateService(); var t = new Template { Content = @"This is a {foo}." }; var d = new TemplateData {{ "foo", "bar" }}; var w = service.Render(t.Content, d, null); Assert.That(w, Is.EqualTo(@"This is a bar.")); }
private ITemplateData ConvertFilepathToTemplateData(string filepath) { var templateData = new TemplateData(); templateData.TemplatePath = filepath; templateData.NumberValue = GetNumberValueFromFilepath(filepath); return(templateData); }
/// <summary> /// Initializes a new instance of the <see cref="Template"/> class. /// </summary> /// <param name="client"><see cref="T:TcmCoreService.Client" /></param> /// <param name="templateData"><see cref="T:Tridion.ContentManager.CoreService.Client.TemplateData" /></param> protected Template(Client client, TemplateData templateData) : base(client, templateData) { if (templateData == null) throw new ArgumentNullException("templateData"); mTemplateData = templateData; }
public void Template_engine_performs_url_replacements_with_virtual_directory() { var service = new BasicTemplateService(); var r = new MockRequest(new Uri("http://sandbox.ascendrewards.com/bar/admin/foo"), "/bar"); var t = new Template { Content = @"This is a <a href=""~/url"">link</a>." }; var d = new TemplateData {{ "foo", "bar" }}; var w = service.Render(t.Content, d, r); Assert.That(w, Is.EqualTo(@"This is a <a href=""http://sandbox.ascendrewards.com/bar/url"">link</a>.")); }
/// <summary> /// Construct a new <c>Template object</c>. /// </summary> public Templates() { tplData = new TemplateData(); try { tplData.ReadXml(Path.Combine(Settings.TemplatePath, "index.xml")); } catch (System.IO.FileNotFoundException) { } catch (System.IO.DirectoryNotFoundException) { } tplData.CaseSensitive = false; }
public void SubjectDispatchTemplate_ProvideXSLTContentTest() { //параметры var builder = new SubjectDispatchTemplate<Guid>() { BodyProvider = new FileTemplate("Content/ProductsOrder.xslt"), BodyTransformer = new XslTransformer() }; object objectModel = CreateObjectModel(); Subscriber<Guid> subscriber = new Subscriber<Guid>() { UserID = Guid.NewGuid() }; TemplateData bodyData = new TemplateData(objectModel); //проверка Stopwatch timer = Stopwatch.StartNew(); SubjectDispatch<Guid> item = (SubjectDispatch<Guid>)builder.Build(subscriber, bodyData); TimeSpan total = timer.Elapsed; Assert.IsNotNull(item.MessageBody); }
public void SubjectDispatchTemplate_ProvideContentTest() { //параметры var builder = new SubjectDispatchTemplate<Guid>() { BodyProvider = new ResourceTemplate(typeof(ContentRes), "ContentKey"), BodyTransformer = new ReplaceTransformer() }; var replaceModel = new Dictionary<string, string>() { { "key", "value" } }; var subscriber = new Subscriber<Guid>(){ UserID = Guid.NewGuid() }; TemplateData bodyData = new TemplateData(replaceModel); //проверка SubjectDispatch<Guid> item = (SubjectDispatch<Guid>)builder.Build(subscriber, bodyData); Assert.AreEqual(ContentRes.ContentKey, item.MessageBody); }
public void ReplacingHtmlEncodeWorksForCompiledTemplates() { // replace the default encoder with one that wraps the input in "--" Encoders.HtmlEncoder encoder = (input) => "--" + input + "--"; Encoders.HtmlEncode = encoder; var template = Template("{{Value}}"); var compiled = template.Compile<TemplateData>(null); var inputText = "Some cool text"; var data = new TemplateData() { Value = inputText }; var expectedOutput = encoder(inputText); Assert.AreEqual(expectedOutput, compiled(data)); // reset the used HTML encoder to default Encoders.HtmlEncode = Encoders.DefaultHtmlEncode; }
public void UpdateTemplate(TemplateData template) { this.Invoke("UpdateTemplate", new object[] { template}); }
public int CreateTemplate(TemplateData TemplateData) { object[] results = this.Invoke("CreateTemplate", new object[] { TemplateData}); return ((int)(results[0])); }
public Email Transform(Template template, TemplateData data) { return Transform(template, data, new HttpRequestWrapper(HttpContext.Current.Request)); }
private void UpdateTemplate() { long template_id = System.Convert.ToInt64(Request.QueryString["id"]); SetTitleBarToMessage("lbl update template"); criteria.AddFilter(Ektron.Cms.Device.CmsDeviceConfigurationProperty.Id, CriteriaFilterOperator.GreaterThanOrEqualTo, "0"); dList = cDevice.GetList(criteria); if (Request.Form["updateTemplate"] == null) { TemplateData templateData = m_refContentApi.EkContentRef.GetTemplateInfoByID(template_id); string templateName = templateData.FileName; sitePathValue.Text = "<td class=\"nowrap\">" + m_refContentApi.SitePath + "</td><td class=\"fullWidth\"><input type=\"text\" id=\"updateTemplate\" maxlength=\"180\" class=\"fullWidth\" name=\"updateTemplate\" value=\"" + templateName + "\"/></td>"; ltrTemplateDetails.Text = "<tr><td>" + m_refMsg.GetMessage("lbl template name") + ":</td><td></td><td><input id=\"updatetemplateName\" title=\"" + m_refMsg.GetMessage("lbl template name") + "\" maxlength=\"50\" name=\"updatetemplateName\" type=\"text\" value=\"" + templateData.TemplateName + "\"/></td></tr>" + "<tr><td>" + m_refMsg.GetMessage("lbl template description") + ":</td><td></td><td><input id=\"updatetemplateDescription\" title=\"" + m_refMsg.GetMessage("lbl template description") + "\" maxlength=\"200\" name=\"updatetemplateDescription\" type=\"text\" value=\"" + templateData.Description + "\"/></td></tr>"; browsebuttontd.Visible = true; cbPageBuilderTemplate.Enabled = true; pnlPageBuilder.Visible = true; Ektron.Cms.Widget.WidgetTypeModel model = new Ektron.Cms.Widget.WidgetTypeModel(); Ektron.Cms.Widget.WidgetTypeData[] widgetTypes = model.FindAll(); repWidgetTypes.DataSource = widgetTypes; repWidgetTypes.DataBind(); Ektron.Cms.PageBuilder.WireframeModel wireframeModel = new Ektron.Cms.PageBuilder.WireframeModel(); Ektron.Cms.PageBuilder.WireframeData wireframe = wireframeModel.FindByTemplateID(template_id); if (wireframe != null) { Ektron.Cms.Widget.WidgetTypeData[] selectedWidgets = wireframeModel.GetAssociatedWidgetTypes(wireframe.ID); //lblThumbnailFileName.Text = wireframe.ThumbnailFile List<string> widgetIds = new List<string>(); foreach (Ektron.Cms.Widget.WidgetTypeData widget in selectedWidgets) { widgetIds.Add(widget.ID.ToString()); } ClientScript.RegisterClientScriptBlock(this.GetType(), "pageBuilderSelectedIds", "Ektron.ready(function(){SelectWidgets([" + string.Join(", ", widgetIds.ToArray()) + "]);});", true); cbPageBuilderTemplate.Checked = true; if (wireframe.Template.SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.MasterLayout) { browsebuttontd.Visible = false; sitePathValue.Text = "<td class=\"nowrap\">" + templateName + "</td><td class=\"fullWidth\"><input type=\"text\" id=\"updateTemplate\" class=\"masterlayout\" style=\"display:none\" name=\"updateTemplate\" value=\"" + templateName + "\"/></td>"; cbPageBuilderTemplate.Enabled = false; } } //Code to show device types string valDeviceInputs = ""; if (m_refContentApi.RequestInformationRef.IsDeviceDetectionEnabled) { List<DeviceTemplateData> templateDevices = m_refContentApi.EkContentRef.GetTemplateDevicesByID(template_id); StringBuilder sb = new StringBuilder(); if ((dList.Count > 0)) { Int32 i = 0; sb.Append("<tr>").Append(Environment.NewLine); sb.Append(" <td >").Append(Environment.NewLine); sb.Append(" <br/><label class=\"deviceheader\" for=\"lblDeviceConfiguration\">").Append(m_refMsg.GetMessage("device configuration")).Append("</label>").Append(Environment.NewLine); sb.Append(" </td>").Append(Environment.NewLine); sb.Append("</tr>").Append(Environment.NewLine); foreach (CmsDeviceConfigurationData dItem in dList) { if (dItem.Name != "Generic") { chkID = dItem.Id; DeviceTemplateData deviceMatch = templateDevices.Find(GetDeviceItem); sb.Append("<tr>").Append(Environment.NewLine); sb.Append(" <td class=\"devicelabel\">").Append(Environment.NewLine); if ((deviceMatch != null) && deviceMatch.IsEnabled == true) { sb.Append(" <input type=\"checkbox\" class=\"pageBuilderCheckbox clearfix\" checked=\"checked\" name=\"cbDeviceTemplate_").Append(dItem.Id).Append("\" id=\"cbDeviceTemplate_").Append(dItem.Id).Append("\" />").Append(Environment.NewLine); } else { sb.Append(" <input type=\"checkbox\" class=\"pageBuilderCheckbox clearfix\" name=\"cbDeviceTemplate_").Append(dItem.Id).Append("\" id=\"cbDeviceTemplate_").Append(dItem.Id).Append("\" />").Append(Environment.NewLine); } sb.Append(" <label for=\"addTemplateDevice_").Append(dItem.Id).Append("\">").Append(dItem.Name).Append("</label>").Append(Environment.NewLine); sb.Append(" </td>").Append(Environment.NewLine); sb.Append(" <td class=\"nowrap\">").Append(Environment.NewLine); sb.Append(m_refContentApi.SitePath).Append(Environment.NewLine); sb.Append(" </td>").Append(Environment.NewLine); sb.Append(" <td>").Append(Environment.NewLine); if ((deviceMatch != null)) { sb.Append(" <input type=\"text\" id=\"updateDeviceTemplate_").Append(dItem.Id).Append("\" maxlength=\"180\" class=\"masterlayout\" name=\"updateDeviceTemplate_").Append(dItem.Id).Append("\" value=\"").Append(deviceMatch.FileName).Append("\" />"); } else { sb.Append(" <input type=\"text\" id=\"updateDeviceTemplate_").Append(dItem.Id).Append("\" maxlength=\"180\" class=\"masterlayout\" name=\"updateDeviceTemplate_").Append(dItem.Id).Append("\" value=\"\" />"); } sb.Append(" </td>").Append(Environment.NewLine); sb.Append(" <td class=\"value\">").Append(Environment.NewLine); sb.Append(" <input type=\"button\" id=\"btnDeviceTemplate_").Append(dItem.Id).Append("\" value=\"...\" class=\"ektronModal browseButton\" onclick=\"SetBtnClicked(").Append(dItem.Id).Append(");OnBrowseButtonClicked()\" />").Append(Environment.NewLine); sb.Append(" </td>").Append(Environment.NewLine); sb.Append("<tr>").Append(Environment.NewLine); if (i > 0) { valDeviceInputs += "," + dItem.Id; } else { valDeviceInputs += dItem.Id; } i = i + 1; } } ltrDeviceConfigurations.Text = sb.ToString(); } } AddBackButton("template_config.aspx?view=list"); AddButton(m_refContentApi.AppPath + "images/UI/Icons/save.png", "javascript:ConfirmNotEmpty('updateTemplate','" + valDeviceInputs + "');", m_refMsg.GetMessage("lbl update template"), m_refMsg.GetMessage("lbl update template"), "", StyleHelper.SaveButtonCssClass, true); AddHelpButton("template_update"); } else { Ektron.Cms.PageBuilder.WireframeModel wireframeModel = new Ektron.Cms.PageBuilder.WireframeModel(); Ektron.Cms.PageBuilder.WireframeData wireframe = wireframeModel.FindByTemplateID(template_id); if (wireframe != null) { if (cbPageBuilderTemplate.Checked == true) { wireframe.Path = Request.Form["updateTemplate"]; wireframe.Template.FileName = wireframe.Path; wireframe.Template.Description = AntiXss.HtmlEncode(Request.Form["updatetemplateDescription"]); wireframe.Template.TemplateName = AntiXss.HtmlEncode(Request.Form["updatetemplateName"]); if (wireframe.Template.SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.MasterLayout) { wireframe.Template.Thumbnail = m_templateModel.GenerateThumbnail(wireframe.Template.MasterLayoutID); } else { string tempLocation = string.Empty; if (wireframe.Path.IndexOf("?") != -1) { tempLocation = wireframe.Path.Substring(0, wireframe.Path.IndexOf("?")).ToString(); } else { tempLocation = wireframe.Path; } wireframe.Template.Thumbnail = m_templateModel.GenerateThumbnail(tempLocation); } wireframeModel.Update(wireframe); wireframeModel.RemoveAllWidgetTypeAssociations(wireframe.ID); foreach (string Key in Request.Form.AllKeys) { if (Key.StartsWith("widget")) { try { wireframeModel.AddWidgetTypeAssociation(wireframe.ID, long.Parse(Key.Substring(6))); } catch (Exception ex) { EkException.ThrowException(ex); } } } } else { wireframeModel.Remove(wireframe.ID); } } else if (cbPageBuilderTemplate.Checked) { string strThumbnail = (string)(m_templateModel.GenerateThumbnail(Request.Form["updateTemplate"].ToString())); wireframe = wireframeModel.Create(Request.Form["updateTemplate"], template_id, System.IO.Path.GetFileName(strThumbnail), AntiXss.HtmlEncode(Request.Form["updatetemplateDescription"].ToString()), AntiXss.HtmlEncode(Request.Form["updatetemplateName"].ToString())); foreach (string Key in Request.Form.AllKeys) { if (Key.StartsWith("widget")) { try { wireframeModel.AddWidgetTypeAssociation(wireframe.ID, long.Parse(Key.Substring(6))); } catch (Exception ex) { EkException.ThrowException(ex); } } } } else { Collection newtemplatedata = new Collection(); TemplateData updateTemplateData = new TemplateData(); updateTemplateData.Id = template_id; updateTemplateData.FileName = Request.Form["updateTemplate"].ToString(); updateTemplateData.Description = AntiXss.HtmlEncode(Request.Form["updatetemplateDescription"].ToString()); updateTemplateData.TemplateName = AntiXss.HtmlEncode(Request.Form["updatetemplateName"].ToString()); m_refContentApi.EkContentRef.UpdateTemplatev2_0(updateTemplateData); } if (m_refContentApi.RequestInformationRef.IsDeviceDetectionEnabled) { SaveDeviceTemplates(dList, template_id, "update"); } Response.Redirect("template_config.aspx?view=list", false); } }
/// <summary> /// Reload the <see cref="Template" /> with the specified <see cref="T:Tridion.ContentManager.CoreService.Client.TemplateData" /> /// </summary> /// <param name="templateData"><see cref="T:Tridion.ContentManager.CoreService.Client.TemplateData" /></param> protected void Reload(TemplateData templateData) { if (templateData == null) throw new ArgumentNullException("templateData"); mTemplateData = templateData; base.Reload(templateData); mBinaryContent = null; mParameterSchema = null; }
protected void Page_Load(object sender, System.EventArgs e) { displaystylesheet.Text = m_refStyle.GetClientScript(); AppImgPath = m_refContentAPI.AppImgPath; m_refMsg = m_refContentAPI.EkMsgRef; Utilities.SetLanguage(m_refContentAPI); RegisterResources(); if (! Utilities.ValidateUserLogin()) { return; } if (! m_refContentAPI.IsAdmin()) { Response.Redirect(m_refContentAPI.ApplicationPath + "reterror.aspx?info=" + m_refContentAPI.EkMsgRef.GetMessage("msg login cms administrator"), true); return; } lblGroupTemplates.Text = m_refMsg.GetMessage("lbl group templates"); lblGroupCommunityDocuments.Text = m_refMsg.GetMessage("lbl community document") + ":"; lblGroupPhotoGallery.Text = m_refMsg.GetMessage("lbl photo gallery") + ":"; lblGroupBlog.Text = m_refMsg.GetMessage("lbl journal") + ":"; lblGroupCalendar.Text = m_refMsg.GetMessage("calendar lbl") + ":"; lblGroupProfile.Text = m_refMsg.GetMessage("lbl profile") + ":"; lblGroupForum.Text = m_refMsg.GetMessage("lbl forum") + ":"; lblUserTemplates.Text = m_refMsg.GetMessage("lbl user templates"); lblUserCommunityDocuments.Text = m_refMsg.GetMessage("lbl community document") + ":"; lblUserPhotoGallery.Text = m_refMsg.GetMessage("lbl photo gallery") + ":"; lblUserBlog.Text = m_refMsg.GetMessage("lbl journal") + ":"; lblUserCalendar.Text = m_refMsg.GetMessage("calendar lbl") + ":"; lblUserProfile.Text = m_refMsg.GetMessage("lbl profile") + ":"; TemplateData[] grouptemplate; TemplateData[] userTemplate; grouptemplate = m_refContentAPI.GetCommunityTemplate(Ektron.Cms.Common.EkEnumeration.TemplateType.Group); userTemplate = m_refContentAPI.GetCommunityTemplate(Ektron.Cms.Common.EkEnumeration.TemplateType.User); if (! Page.IsPostBack) { ViewAllToolBar(); if ((grouptemplate != null)&& grouptemplate.Length > 0) { for (int i = 0; i <= grouptemplate.Length - 1; i++) { if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Workspace) { txtGroupCommunityDocuments.Text = grouptemplate[i].FileName; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Photos) { txtGroupPhotoGallery.Text = grouptemplate[i].FileName; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Profile) { txtGroupProfile.Text = grouptemplate[i].FileName; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Calendar) { txtGroupCalendar.Text = grouptemplate[i].FileName; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Forum) { txtGroupForum.Text = grouptemplate[i].FileName; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Blog) { txtGroupBlog.Text = grouptemplate[i].FileName; } } } if ((userTemplate != null)&& userTemplate.Length > 0) { for (int i = 0; i <= userTemplate.Length - 1; i++) { if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Workspace) { txtUserCommunityDocuments.Text = userTemplate[i].FileName; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Photos) { txtUserPhotoGallery.Text = userTemplate[i].FileName; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Profile) { txtUserProfile.Text = userTemplate[i].FileName; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Calendar) { txtUserCalendar.Text = userTemplate[i].FileName; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Blog) { txtUserBlog.Text = userTemplate[i].FileName; } } } } else { TemplateData data = null; if ((grouptemplate != null)&& grouptemplate.Length > 0) { for (int i = 0; i <= grouptemplate.Length - 1; i++) { data = new TemplateData(); data.Type = Ektron.Cms.Common.EkEnumeration.TemplateType.Group; data.Id = grouptemplate[i].Id; if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Workspace) { data.FileName = (string) (txtGroupCommunityDocuments.Text.ToString()); data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Workspace; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Photos) { data.FileName = (string) (txtGroupPhotoGallery.Text.ToString()); data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Photos; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Profile) { data.FileName = (string) txtGroupProfile.Text; data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Profile; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Calendar) { data.FileName = (string) txtGroupCalendar.Text; data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Calendar; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Forum) { data.FileName = (string) txtGroupForum.Text; data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Forum; } else if (grouptemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Blog) { data.FileName = (string) (txtGroupBlog.Text.ToString()); data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Blog; } if (data.FileName.Length > 0) { m_refContentAPI.EkContentRef.UpdateTemplatev2_0(data); } } } if ((userTemplate != null)&& userTemplate.Length > 0) { for (int i = 0; i <= userTemplate.Length - 1; i++) { data = new TemplateData(); data.Type = Ektron.Cms.Common.EkEnumeration.TemplateType.User; data.Id = userTemplate[i].Id; if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Workspace) { data.FileName = (string) (txtUserCommunityDocuments.Text.ToString()); data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Workspace; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Photos) { data.FileName = (string) (txtUserPhotoGallery.Text.ToString()); data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Photos; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Profile) { data.FileName = (string) txtUserProfile.Text; data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Profile; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Calendar) { data.FileName = (string) txtUserCalendar.Text; data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Calendar; } else if (userTemplate[i].SubType == Ektron.Cms.Common.EkEnumeration.TemplateSubType.Blog) { data.FileName = (string) (txtUserBlog.Text.ToString()); data.SubType = Ektron.Cms.Common.EkEnumeration.TemplateSubType.Blog; } if (data.FileName.Length > 0) { m_refContentAPI.EkContentRef.UpdateTemplatev2_0(data); } } } } }
private string DrawContentTemplatesEntry(int row_id, string name, string typestring, long template_id, bool isEnabled, TemplateData templatedata) { StringBuilder str = new StringBuilder(); bool isDefault = false; if (template_id == _FolderData.TemplateId) { isDefault = true; } str.Append("<tr id=\"trow_" + template_id + "\">"); str.Append("<td width=\"10%\" class=\"center\">"); if (isDefault && isEnabled) { str.Append("<input type=\"radio\" id=\"tdefault\" name=\"tdefault\" value=\"" + name + "\" checked />"); } else if (isDefault && !isEnabled) { str.Append("<input type=\"radio\" id=\"tdefault\" name=\"tdefault\" value=\"" + name + "\" checked disabled />"); } else if (!isEnabled) { str.Append("<input type=\"radio\" id=\"tdefault\" name=\"tdefault\" value=\"" + name + "\" disabled />"); } else { str.Append("<input type=\"radio\" id=\"tdefault\" name=\"tdefault\" value=\"" + name + "\" />"); } str.Append("</td>"); str.Append("<td width=\"70%\">"); str.Append(name + typestring + "<input id=\"tinput_" + template_id + "\" name=\"tinput_" + template_id + "\" type=\"hidden\" value=\"" + template_id + "\" /></td>"); string link = ""; if (templatedata.SubType == EkEnumeration.TemplateSubType.MasterLayout) { link = _ContentApi.EkContentRef.GetContentQlink(templatedata.MasterLayoutID, _ContentApi.GetFolderIdForContentId(templatedata.MasterLayoutID)); str.Append("<td class=\"center\" width=\"10%\"><a href=\"#\" class=\"button greenHover minHeight buttonSearch\" onclick=\"PreviewSpecificTemplate(\'" + link + "\', 800,600)\">" + _MessageHelper.GetMessage("lbl View") + "</a></td>"); } else { str.Append("<td class=\"center\" width=\"10%\"><a href=\"#\" class=\"button greenHover minHeight buttonSearch\" onclick=\"PreviewSpecificTemplate(\'" + _ContentApi.SitePath + name + "\', 800,600)\">" + _MessageHelper.GetMessage("lbl View") + "</a></td>"); } str.Append("<td class=\"center\" width=\"10%\"><a href=\"#\" class=\"button redHover minHeight buttonRemove\" onclick=\"RemoveTemplate(" + template_id + ", \'" + name.Replace("\\", "\\\\") + "\', \'" + link + "\')\">" + _MessageHelper.GetMessage("btn remove") + "</td>"); str.Append("</tr>"); return str.ToString(); }
private void Page_Load(System.Object sender, System.EventArgs e) { //Put user code to initialize the page here Collection cQuickLink = new Collection(); string RedirectPath = string.Empty; string aliasName = string.Empty; string zLibPath = string.Empty; m_refContentApi = new ContentAPI(); Ektron.Cms.UrlAliasing.UrlAliasCommonApi _refUrlCommonApi = new Ektron.Cms.UrlAliasing.UrlAliasCommonApi(); string strNewQuery = Request.ServerVariables["QUERY_STRING"]; if (! (Request.QueryString["ItemID"] == null)) { itemID =Convert.ToInt64(Request.QueryString["ItemID"]); strNewQuery = (string) (strNewQuery.Replace((string) ("ItemID=" + itemID), "").Replace("&&", "&")); } if (! (Request.QueryString["libID"] == null)) { libID =Convert.ToInt64(Request.QueryString["libID"]); strNewQuery = (string) (strNewQuery.Replace((string) ("libID=" + libID), "").Replace("&&", "&")); } if (! (Request.QueryString["LinkIdentifier"] == null)) { strLinkIdentifier = Request.QueryString["LinkIdentifier"]; strNewQuery = (string) (strNewQuery.Replace((string) ("LinkIdentifier=" + strLinkIdentifier), "").Replace("&&", "&")); } if (Request.QueryString["FolderID"] == null) { bUseQLink = true; } else { folderID = Convert.ToInt64(Request.QueryString["FolderID"]); strNewQuery = (string) (strNewQuery.Replace((string) ("FolderID=" + folderID), "").Replace("&&", "&")); } if (strLinkIdentifier == "") { strLinkIdentifier = "id"; } if (bUseQLink) { //Use quicklink if (strLinkIdentifier != "ekfrm") { aliasName = _refUrlCommonApi.GetAliasForContent(itemID); } if (! libID.Equals(null) && libID > 0 && ! (aliasName.Length > 0)) { Ektron.Cms.API.Library zapi = new Ektron.Cms.API.Library(); aliasName = (string) (zapi.GetLibraryItem(libID).FileName.Replace(m_refContentApi.SitePath, "/")); } else { cQuickLink = (Collection)m_refContentApi.EkLibraryRef.GetLibraryItemByContentID(itemID, _refUrlCommonApi.ContentLanguage,true); } if ((cQuickLink != null) && cQuickLink.Count >0 && aliasName == string.Empty) { if (Convert.ToInt32(cQuickLink["LibraryTypeID"]) == 1) //image, do not use the app/sitepath { if (Convert.ToInt32(cQuickLink["IsPrivate"]) == 0) { RedirectPath = m_refContentApi.SitePath + "assets/" + Server.HtmlDecode(Convert.ToString(cQuickLink["LibraryFilename"])); } else { RedirectPath = m_refContentApi.SitePath + "privateassets/" + Server.HtmlDecode(Convert.ToString(cQuickLink["LibraryFilename"])); } } else if ((cQuickLink["LibraryFilename"].ToString().IndexOf("javascript:void window.open") >= 0) && (cQuickLink["ContentID"].ToString() != "")) { RedirectPath = m_refContentApi.AppPath + "showcontent.aspx?id=" + itemID; } else if ((cQuickLink["LibraryFilename"].ToString().ToLower().IndexOf("downloadasset.aspx") >= 0) && (cQuickLink["ContentID"].ToString() != "")) { RedirectPath = m_refContentApi.AppPath + cQuickLink["LibraryFilename"].ToString(); } else if (cQuickLink["LibraryFilename"].ToString().ToLower().IndexOf("linkit.aspx") < 0) { // make sure the quicklink doesn't link to this page or it'll be stuck in infinite loop RedirectPath = m_refContentApi.SitePath + Server.HtmlDecode(Convert.ToString(cQuickLink["LibraryFilename"])); } } else { RedirectPath = (string) ((m_refContentApi.SitePath + aliasName).Replace("//", "/")); // If there is an alias it should show if they use linkit as Quicklink. } } if (((RedirectPath == "") && bUseQLink == true) || (bUseQLink == false)) { // see if content has a multitemplate attached to it first templateData = m_refContentApi.GetMultiTemplateASPX(itemID); if (templateData == null) { templateData = m_refContentApi.GetTemplatesByFolderId(m_refContentApi.GetJustFolderIdByContentId(itemID)); } if (Convert.ToString(templateData.FileName).IndexOf("?") >= 0) { RedirectPath = m_refContentApi.SitePath + templateData.FileName + "&" + strLinkIdentifier + "=" + itemID; } else { RedirectPath = m_refContentApi.SitePath + templateData.FileName + "?" + strLinkIdentifier + "=" + itemID; } } if (string.IsNullOrEmpty(aliasName)) // Only if there is no alias append the following. { if (strNewQuery != "" && strNewQuery != "&") { strNewQuery = strNewQuery.Trim("&".ToCharArray()); if (RedirectPath.IndexOf("?") >= 0) { RedirectPath = (string) (RedirectPath + "&" + strNewQuery); } else { RedirectPath = RedirectPath + "?" + strNewQuery; } } } // domain folder redirect only if RedirectPath is not a full URL if (! RedirectPath.StartsWith("http")) { string domain = m_refContentApi.GetDomainByContentId(itemID); if (domain != null&& domain != "" && m_refContentApi.SitePath == "/") { RedirectPath = (string) ("http://" + domain + "/" + RedirectPath.Substring(1)); } else if (domain != null&& domain != "") { RedirectPath = (string) ("http://" + domain + "/" + RedirectPath.Replace(m_refContentApi.SitePath, "")); } } if (Page.IsPostBack && (!(cQuickLink == null)) && cQuickLink.Count>0 && (Convert.ToInt32(cQuickLink["LibraryTypeID"]) == 5)) { string strUrl = string.Empty; strUrl = m_refContentApi.QualifyUrlForServerTransfer(RedirectPath); if (strUrl.Length > 0) { try { //#16799 - using the redirect to a page, the form data is not posting to specified template. //Changed form response redirect to server.transfer to forward form values when possible. //source: CommonApi.vb(, ApplicationApi.vb, ServerControlLibrary / FormBlock / FormBlock.cs, workarea / linkit.aspx.vb) //PRB: "View State Is Invalid" Error Message When You Use Server.Transfer //http://support.microsoft.com/default.aspx?id=kb;en-us;Q316920 //Note: I have not seen the problem mentioned in the MS KB. -doug domeny 2005-11-22 Context.RewritePath(strUrl, false); Server.Transfer(strUrl, true); return; } catch (System.Threading.ThreadAbortException) { //When you do a Server.Transfer() or Response.Redirect(), if you have code after this statement, it sometimes throws an error. return; } catch (Exception ex) { if (RedirectPath.IndexOf("?") >= 1) { RedirectPath += "&"; } else { RedirectPath += "?"; } RedirectPath += (string)("TransferError=" + EkFunctions.UrlEncode(ex.Message)); } } } Response.Redirect(RedirectPath); }