Exemple #1
0
            public async Task <Unit> Handle(Request request, CancellationToken cancellationToken)
            {
                var template = _templateLocator.Get("EntityServiceBuilder");

                var tokens = new TokensBuilder()
                             .With(nameof(request.EntityName), (Token)request.EntityName)
                             .With(nameof(request.Directory), (Token)request.Directory)
                             .Build();

                var result = _templateProcessor.Process(template, tokens);

                var entityNameSnakeCase = _templateProcessor.Process("{{ entityNameSnakeCase }}", tokens);

                var filename = $"{entityNameSnakeCase}.service.ts";

                if (_fileSystem.Exists($@"{request.Directory}/{filename}"))
                {
                    if (request.Force)
                    {
                        System.IO.File.Delete($@"{request.Directory}/{filename}");
                        System.IO.File.Delete($@"{request.Directory}/{entityNameSnakeCase}.service.spec.ts");
                    }
                    else
                    {
                        return(new());
                    }
                }

                _commandService.Start($"ng g s {entityNameSnakeCase}", request.Directory);

                _fileSystem.WriteAllLines($@"{request.Directory}/{filename}", result);

                return(new());
            }
Exemple #2
0
            public Task <Unit> Handle(Request request, CancellationToken cancellationToken)
            {
                Settings settings = _settingsProvider.Get(request.Directory);

                var tokens = new TokensBuilder()
                             .With(nameof(request.EntityName), (Token)request.EntityName)
                             .With(nameof(request.Directory), (Token)request.Directory)
                             .Build();

                var result = new List <string>()
                {
                    _templateProcessor.Process("export type {{ entityNamePascalCase }} = {", tokens)
                };

                var modelsDirectory = $"{settings.DomainDirectory}{Path.DirectorySeparatorChar}Models";

                foreach (var path in Directory.GetFiles(modelsDirectory, $"{((Token)request.EntityName).PascalCase}.cs", SearchOption.AllDirectories))
                {
                    foreach (var line in File.ReadAllLines(path))
                    {
                        if (line.Contains("public string") || line.Contains("public Guid"))
                        {
                            result.Add($"    {_namingConventionConverter.Convert(NamingConvention.CamelCase, line.Split(' ')[10])}: string,");
                        }

                        if (line.Contains("public int") || line.Contains("public double"))
                        {
                            result.Add($"    {_namingConventionConverter.Convert(NamingConvention.CamelCase, line.Split(' ')[10])}: number,");
                        }

                        if (line.Contains("public bool"))
                        {
                            result.Add($"    {_namingConventionConverter.Convert(NamingConvention.CamelCase, line.Split(' ')[10])}: boolean,");
                        }
                    }
                }

                result.Add("};");

                var filePath = _templateProcessor.Process("{{ directory }}//{{ entityNameSnakeCase }}.ts", tokens);

                if (System.IO.File.Exists(filePath) && request.Force == false)
                {
                    return(Task.FromResult(new Unit()));
                }

                _fileWriter.WriteAllLines(filePath, result.ToArray());

                return(Task.FromResult(new Unit()));
            }
        public OrchardRazorTransform(ITemplateProcessor processor, IContext context = null) : base(context, null)
        {
            if (IsMissingContext())
            {
                return;
            }

            Returns = Context.Field.Type;

            _processor = processor;

            var fields = MultipleInput().ToList();

            _input = fields.Union(Context.Entity.GetFieldMatches(Context.Operation.Template)).ToArray();

            // test it out
            var testObject = new ExpandoObject();
            var dict       = (IDictionary <string, object>)testObject;

            foreach (var field in _input)
            {
                dict[field.Alias] = field.DefaultValue();
            }
            try {
                _processor.Process(Context.Operation.Template, Context.Key, null, testObject);
            } catch (System.Exception ex) {
                Context.Error("Razor error parsing script in {0} field.", Context.Field.Alias);
                Context.Error(ex.Message);
                Utility.CodeToError(Context, Context.Operation.Template);
                Run = false;
            }
        }
Exemple #4
0
        private async Task <string> GetEmailBodyAsync(EmailRequest request)
        {
            var templatePath = pathFinder.GetTemplatePath(request.TemplateKey);
            var template     = await resourceLoader.LoadAsync(templatePath);

            var emailBody = templateProcessor.Process(template, request.Payload);

            return(emailBody);
        }
Exemple #5
0
            public async Task <Unit> Handle(Request request, CancellationToken cancellationToken)
            {
                var template = _templateLocator.Get(nameof(IntlBuilder));

                var tokens = new TokensBuilder()
                             .With(nameof(request.Name), (Token)request.Name)
                             .Build();

                var lines = _templateProcessor.Process(template, tokens);

                _fileSystem.WriteAllLines($"{request.Directory}{Path.DirectorySeparatorChar}{((Token)request.Name).SnakeCase}-intl.ts", lines);

                return(new());
            }
Exemple #6
0
        public string Render()
        {
            var p = new Dictionary <string, string>();
            var l = new Cfg.Net.Loggers.MemoryLogger();

            // get template
            _context.Debug(() => string.Format("Reading {0}", _template.File));
            var template = _templateReader.Read(_template.File, p, l);

            if (l.Errors().Any())
            {
                foreach (var error in l.Errors())
                {
                    _context.Error(error);
                }
                return(string.Empty);
            }

            // get parameters (other than process)
            var parameters = new ExpandoObject();

            foreach (var parameter in _template.Parameters)
            {
                ((IDictionary <string, object>)parameters).Add(parameter.Name, parameter.Value);
            }
            if (p.Any())
            {
                foreach (var parameter in p)
                {
                    ((IDictionary <string, object>)parameters)[parameter.Key] = parameter.Value;
                }
            }

            try {
                _context.Debug(() => string.Format("Compiling {0}.", _template.Name));
                return(_templateProcessor.Process(template, _template.Name, null, new {
                    _context.Process,
                    Parameters = parameters
                }));
            } catch (Exception ex) {
                _context.Error("Error parsing template {0}.", _template.Name);
                _context.Error(ex, ex.Message.Replace("{", "{{").Replace("}", "}}"));
                return(string.Empty);
            }
        }
Exemple #7
0
        private async Task <Result <string> > GetEmailBodyAsync(MercuryRequest <ExpandoObject> request, CancellationToken token)
        {
            var templatePath = pathFinder.GetTemplatePath(request.TemplateKey);

            var templateResult = await resourceLoader.LoadAsync(templatePath, token).ConfigureAwait(false);

            if (templateResult.IsFailed)
            {
                return(templateResult);
            }

            token.ThrowIfCancellationRequested();

            var templateProcessingResult = templateProcessor.Process(templateResult.Value, request.Payload);

            if (templateProcessingResult.IsFailed)
            {
                return(templateProcessingResult);
            }

            return(Result.Ok(templateProcessingResult.Value));
        }
 public override IRow Operate(IRow row)
 {
     row[Context.Field] = Context.Field.Convert(_processor.Process(Context.Operation.Template, Context.Key, null, row.ToFriendlyExpandoObject(_input)).Trim(' ', '\n', '\r'));
     return(row);
 }
Exemple #9
0
 public override IRow Transform(IRow row)
 {
     row[Context.Field] = Context.Field.Convert(_processor.Process(Context.Transform.Template, Context.Key, null, row.ToFriendlyExpandoObject(_input)).Trim(' ', '\n', '\r'));
     Increment();
     return(row);
 }