Пример #1
0
            public void Should_succeed_when_using_known_template()
            {
                var data   = new { name = "world" };
                var result = _engine.Generate("Test", data);

                Assert.AreEqual("hello, world\r\n", result);
            }
Пример #2
0
        private static string WriteToLua(WDBSheet sheet, string templateContent, string[] assemblyNames, EntryConfig config)
        {
            StringContextContainer context = new StringContextContainer();

            context.Add("__sheet__", sheet);
            string content = TemplateEngine.Generate(context, templateContent, assemblyNames, config);

            context.Remove("__sheet__");
            return(content);
        }
Пример #3
0
        /// <summary>
        /// Go Power Rangers!!!
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGenerateCode_Click(object sender, EventArgs e)
        {
            if (ValidateControls())
            {
                Application.UseWaitCursor = true;
                List <Tuple <string, string> > tablasAProcesar = new List <Tuple <string, string> >();
                // Bloqueamos los controles mientras se procesa la cosa
                tvDBView.Enabled        = false;
                tvTemplates.Enabled     = false;
                btnGenerateCode.Enabled = false;

                // Vamos a ver qué tablas queremos procesar
                foreach (TreeNode parent in tvDBView.Nodes)
                {
                    if (parent.Nodes.Count > 0)
                    {
                        foreach (TreeNode son in parent.Nodes)
                        {
                            if (son.Checked)
                            {
                                // parent.Text = DATABASE, son.Text = TABLE
                                tablasAProcesar.Add(new Tuple <string, string>(parent.Text, son.Text));
                            }
                        }
                    }
                }

                foreach (Tuple <string, string> tupla in tablasAProcesar)
                {
                    foreach (TreeNode parent in tvTemplates.Nodes)
                    {
                        if (parent.Nodes.Count > 0)
                        {
                            foreach (TreeNode son in parent.Nodes)
                            {
                                if (son.Checked)
                                {
                                    //Limpiamos el nombre de la tabla
                                    string tableName  = tupla.Item2;
                                    string fileSuffix = son.Text.Substring(0, son.Text.IndexOf("."));
                                    if (chkRemovePrefix.Checked)
                                    {
                                        if (txtPrefix.Text != string.Empty)
                                        {
                                            if (tableName.Contains(txtPrefix.Text))
                                            {
                                                tableName = tableName.Remove(0, txtPrefix.Text.Length);
                                                tableName = string.Format("{0}{1}", tableName.Substring(0, 1).ToUpper(), tableName.Substring(1));
                                            }
                                        }
                                    }

                                    string ext          = son.Text.Contains(".cs.") ? "cs" : "vb";
                                    string outputPath   = Path.Combine(txtOutputPath.Text, String.Format("{0}{1}.{2}", tableName, son.Text, ext));
                                    string templatePath = String.Format(@"templates\{0}\{1}.scg", parent.Text, son.Text);

                                    txtResults.AppendText(String.Format("Creando {0}{1}.{2} ... ", tableName, fileSuffix, ext));

                                    templateEngine.Generate(tupla.Item1, tupla.Item2, tableName, outputPath, templatePath);
                                    txtResults.AppendText("OK" + Environment.NewLine);
                                }
                            }
                        }
                        Application.DoEvents();
                    }
                }
                txtResults.AppendText("Proceso Terminado." + Environment.NewLine);
                Application.UseWaitCursor = false;
            }



            // Desbloqueamos los controles al terminar
            tvDBView.Enabled        = true;
            tvTemplates.Enabled     = true;
            btnGenerateCode.Enabled = true;
        }