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()); }
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; } }
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); }
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()); }
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); } }
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); }
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); }