Exemple #1
0
 /// <summary>
 /// Generates the text for a ConditionalCase builder.
 /// </summary>
 /// <param name="item">The ConditionCase builder to generate the text for.</param>
 protected internal override void VisitConditionalCase(ConditionalCase item)
 {
     if (!item.Branches.Any())
     {
         throw new SQLGenerationException(Resources.EmptyCaseExpression);
     }
     writer.Write("CASE");
     foreach (ConditionalCaseBranch branch in item.Branches)
     {
         writer.Write(" WHEN ");
         branch.Condition.Accept(forSubCommand());
         writer.Write(" THEN ");
         branch.Value.Accept(forSubCommand());
     }
     if (item.Default != null)
     {
         writer.Write(" ELSE ");
         item.Default.Accept(forSubCommand());
     }
     writer.Write(" END");
 }
Exemple #2
0
 private void Visit(ConditionalCase condCase)
 {
     Visit(new IfStatement(condCase.Condition, condCase.Statements, null, condCase.Location));
 }