Esempio n. 1
0
        private static void ApplyWhere(DSLTranslation translation, StringBuilder builder)
        {
            IList <OutputFragment> joinCollection = translation.GetCollection("where");

            if (joinCollection.Count > 0)
            {
                builder.Append(LINE_SEPARATOR);
                // builder.Append("  -------- WHERE ---------");
                int item_count = 0;

                foreach (OutputFragment fragment in joinCollection)
                {
                    builder.Append(LINE_SEPARATOR);
                    if (item_count == 0)
                    {
                        builder.Append(" WHERE ");
                    }
                    else
                    {
                        builder.Append("   AND ");
                    }
                    builder.Append(fragment.RenderedOutput);
                    item_count++;
                }
            }
        }
Esempio n. 2
0
        private static void ApplyFrom(DSLTranslation translation, StringBuilder builder)
        {
            IList <OutputFragment> fromCollection = translation.GetCollection("from");

            if (fromCollection.Count != 1)
            {
                throw new DSLTemplateException($"Currently, only one 'initial' item is allowed.");
            }

            builder.Append(fromCollection[0].RenderedOutput);
        }
Esempio n. 3
0
        private static void ApplyJoin(DSLTranslation translation, StringBuilder builder)
        {
            IList <OutputFragment> joinCollection = translation.GetCollection("join");

            if (joinCollection.Count > 0)
            {
                builder.Append(LINE_SEPARATOR);
                // builder.Append("  -------- JOINs ---------");
                foreach (OutputFragment fragment in joinCollection)
                {
                    builder.Append(LINE_SEPARATOR);
                    builder.Append(fragment.RenderedOutput);
                }
            }
        }