public override void Synchronize(TemplateSynchronizationContext sc) { foreach (var item in Nodes) { item.Synchronize(sc); } }
public static string Synchronize(string text, TemplateSynchronizationContext sc) { BlockNode node = new TextTemplateParserImp(text, sc.QueryDescription, sc.ModelType).ParseSync(); node.Synchronize(sc); return(node.ToString()); }
public override void Synchronize(TemplateSynchronizationContext sc, string remainingText) { this.ValueProvider !.Synchronize(sc, remainingText); if (Operation != null) { sc.SynchronizeValue(this.ValueProvider !.Type !, ref Value, Operation.Value.IsList()); } }
public override void Synchronize(TemplateSynchronizationContext sc) { ValueProvider !.Synchronize(sc, "@foreach[]"); using (sc.NewScope()) { ValueProvider.Declare(sc.Variables); Block.Synchronize(sc); } }
public override void Synchronize(TemplateSynchronizationContext sc) { Condition.Synchronize(sc, "if[]"); using (sc.NewScope()) { Condition.Declare(sc.Variables); IfBlock.Synchronize(sc); } if (ElseBlock != null) { using (sc.NewScope()) { Condition.Declare(sc.Variables); ElseBlock.Synchronize(sc); } } }
public override void Synchronize(TemplateSynchronizationContext sc) { Condition.Synchronize(sc, "@any[]"); using (sc.NewScope()) { Condition.Declare(sc.Variables); AnyBlock.Synchronize(sc); } if (NotAnyBlock != null) { using (sc.NewScope()) { Condition.Declare(sc.Variables); NotAnyBlock.Synchronize(sc); } } }
public override void Synchronize(TemplateSynchronizationContext sc) { ValueProvider !.Synchronize(sc, "@declare"); }
public override void Synchronize(TemplateSynchronizationContext sc) { return; }
public abstract void Synchronize(TemplateSynchronizationContext sc);
public override void Synchronize(TemplateSynchronizationContext sc) { ValueProvider !.Synchronize(sc, IsRaw ? "@raw[]" : "@[]"); }
public override void Synchronize(TemplateSynchronizationContext sc) { ValueProvider.Synchronize(sc, "@"); ValueProvider.Declare(sc.Variables); }
public abstract void Synchronize(TemplateSynchronizationContext sc, string remainingText);
internal static SqlPreCommand?ProcessEmailTemplate(Replacements replacements, Table table, EmailTemplateEntity et, StringDistance sd) { Console.Write("."); try { var queryName = QueryLogic.ToQueryName(et.Query.Key); QueryDescription qd = QueryLogic.Queries.QueryDescription(queryName); using (DelayedConsole.Delay(() => SafeConsole.WriteLineColor(ConsoleColor.White, "EmailTemplate: " + et.Name))) using (DelayedConsole.Delay(() => Console.WriteLine(" Query: " + et.Query.Key))) { if (et.From != null && et.From.Token != null) { QueryTokenEmbedded token = et.From.Token; switch (QueryTokenSynchronizer.FixToken(replacements, ref token, qd, SubTokensOptions.CanElement, " From", allowRemoveToken: false, allowReCreate: et.Model != null)) { case FixTokenResult.Nothing: break; case FixTokenResult.DeleteEntity: return(table.DeleteSqlSync(et, e => e.Name == et.Name)); case FixTokenResult.SkipEntity: return(null); case FixTokenResult.Fix: et.From.Token = token; break; case FixTokenResult.ReGenerateEntity: return(Regenerate(et, replacements, table)); default: break; } } if (et.Recipients.Any(a => a.Token != null)) { using (DelayedConsole.Delay(() => Console.WriteLine(" Recipients:"))) { foreach (var item in et.Recipients.Where(a => a.Token != null).ToList()) { QueryTokenEmbedded token = item.Token !; switch (QueryTokenSynchronizer.FixToken(replacements, ref token, qd, SubTokensOptions.CanElement, " Recipient", allowRemoveToken: false, allowReCreate: et.Model != null)) { case FixTokenResult.Nothing: break; case FixTokenResult.DeleteEntity: return(table.DeleteSqlSync(et, e => e.Name == et.Name)); case FixTokenResult.RemoveToken: et.Recipients.Remove(item); break; case FixTokenResult.SkipEntity: return(null); case FixTokenResult.Fix: item.Token = token; break; case FixTokenResult.ReGenerateEntity: return(Regenerate(et, replacements, table)); default: break; } } } } try { foreach (var item in et.Messages) { var sc = new TemplateSynchronizationContext(replacements, sd, qd, et.Model?.ToType()); item.Subject = TextTemplateParser.Synchronize(item.Subject, sc); item.Text = TextTemplateParser.Synchronize(item.Text, sc); } using (replacements.WithReplacedDatabaseName()) return(table.UpdateSqlSync(et, e => e.Name == et.Name, includeCollections: true, comment: "EmailTemplate: " + et.Name)); } catch (TemplateSyncException ex) { if (ex.Result == FixTokenResult.SkipEntity) { return(null); } if (ex.Result == FixTokenResult.DeleteEntity) { return(table.DeleteSqlSync(et, e => e.Name == et.Name)); } if (ex.Result == FixTokenResult.ReGenerateEntity) { return(Regenerate(et, replacements, table)); } throw new UnexpectedValueException(ex.Result); } } } catch (Exception e) { return(new SqlPreCommandSimple("-- Exception on {0}. {1}\r\n{2}".FormatWith(et.BaseToString(), e.GetType().Name, e.Message.Indent(2, '-')))); } }
public override void Synchronize(TemplateSynchronizationContext sc, string remainingText) { this.LeftNode.Synchronize(sc, remainingText); this.RightNode.Synchronize(sc, remainingText); }