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();
 }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 6
0
 public Email Transform(Template template, TemplateData data, HttpRequestBase request)
 {
     return(new Email {
         Subject = Render(template.Subject, data, request),
         Body = Render(template.Content, data, request),
     });
 }
Exemplo n.º 7
0
 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);
        }
Exemplo n.º 9
0
        /// <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);
            }
        }
Exemplo n.º 10
0
        /// <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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        /// <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);
        }
Exemplo n.º 15
0
        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));
        }
Exemplo n.º 17
0
        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));
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 21
0
        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);
                }
            }
        }
Exemplo n.º 22
0
        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);
        }
Exemplo n.º 23
0
        /// <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);
        }
Exemplo n.º 25
0
        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));
        }
Exemplo n.º 26
0
        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;
        }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
        /// <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);
            }
        }
Exemplo n.º 29
0
        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);
        }
Exemplo n.º 30
0
        /// <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);
        }
Exemplo n.º 31
0
        /// <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);
        }
Exemplo n.º 33
0
 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."));
 }
Exemplo n.º 34
0
        private ITemplateData ConvertFilepathToTemplateData(string filepath)
        {
            var templateData = new TemplateData();

            templateData.TemplatePath = filepath;
            templateData.NumberValue  = GetNumberValueFromFilepath(filepath);
            return(templateData);
        }
Exemplo n.º 35
0
        /// <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;
        }
Exemplo n.º 36
0
 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>."));
 }
Exemplo n.º 37
0
 /// <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);
        }
Exemplo n.º 40
0
        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;
        }
Exemplo n.º 41
0
 public void UpdateTemplate(TemplateData template)
 {
     this.Invoke("UpdateTemplate", new object[] {
                 template});
 }
Exemplo n.º 42
0
 public int CreateTemplate(TemplateData TemplateData)
 {
     object[] results = this.Invoke("CreateTemplate", new object[] {
                 TemplateData});
     return ((int)(results[0]));
 }
Exemplo n.º 43
0
 public Email Transform(Template template, TemplateData data)
 {
     return Transform(template, data, new HttpRequestWrapper(HttpContext.Current.Request));
 }
Exemplo n.º 44
0
    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);
        }
    }
Exemplo n.º 45
0
        /// <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;
        }
Exemplo n.º 46
0
    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);
                        }
                    }
                }
            }
    }
Exemplo n.º 47
0
    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();
    }
Exemplo n.º 48
0
    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);
    }