Exemple #1
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtCSharpClass.Text))
            {
                return;
            }
            char firstChar = txtClassName.Text.ToLower()[0];
            ColumnFromCsharpClass columnFromCsharpClass = Generator.GetColumnFromCSharpClass(txtCSharpClass);
            StringBuilder         stringBuilder         = new StringBuilder();

            stringBuilder.Append($"({firstChar}:{txtClassName.Text} ");
            stringBuilder.Append("{");
            foreach (Column col in columnFromCsharpClass.Columns)
            {
                stringBuilder.Append(col.Name + ":{" + col.Name + "},");
            }
            stringBuilder.Append("})\")");
            stringBuilder.Append(Environment.NewLine);
            stringBuilder.Append(".WithParams(new { ");
            foreach (Column col in columnFromCsharpClass.Columns)
            {
                stringBuilder.Append($"{col.Name} = {txtClassName.Text.ToLower()}.{col.Name},");
            }
            stringBuilder.Append("})");
            txtBuilder.Text = stringBuilder.ToString();
            if (ThisApp.currentSession.AutoCopy)
            {
                Clipboard.SetText(txtBuilder.Text);
            }
        }
        private List <Column> GetColumns()
        {
            ColumnFromCsharpClass columnFromCsharpClass = new ColumnFromCsharpClass();

            columnFromCsharpClass = Generator.GetColumnFromCSharpClass(txtCSharpClass);
            className             = columnFromCsharpClass.ClassName;
            return(columnFromCsharpClass.Columns);
        }
Exemple #3
0
        public static ColumnFromCsharpClass GetColumnFromCSharpClass(RichTextBox richTextBox)
        {
            ColumnFromCsharpClass columnFromCsharpClass = new ColumnFromCsharpClass();
            int start = 0;

            for (int i = 0; i < richTextBox.Lines.Count(); i++)
            {
                string line = richTextBox.Lines[i].Replace(" ", "");
                if (line.Trim().Contains("publicclass"))
                {
                    start = i + 1;
                    string[] firstline = richTextBox.Lines[i].Trim().Split(' ');
                    if (firstline.Length > 2)
                    {
                        columnFromCsharpClass.ClassName = firstline[2];
                    }
                    break;
                }
            }
            List <Column> lstColumn = new List <Column>();

            for (int i = start; i < richTextBox.Lines.Count(); i++)
            {
                string line = richTextBox.Lines[i].Trim();
                if (line.Contains("("))
                {
                    continue;
                }
                string[] strArr = line.Split(' ');
                if (strArr.Length > 2)
                {
                    Column col = new Column();
                    col.Name     = strArr[2];
                    col.Datatype = strArr[1];
                    if (col.Datatype.Contains("<"))
                    {
                        strArr[1] = strArr[1].Replace('>', ' ');
                        string[] temp = strArr[1].Split('<');
                        col.Datatype = temp[1].Trim();
                        col.IsArray  = true;
                    }
                    if (line.Contains("?"))
                    {
                        col.Name = col.Name + "?";
                    }
                    lstColumn.Add(col);
                }
            }
            columnFromCsharpClass.Columns = lstColumn;
            return(columnFromCsharpClass);
        }
        private void btnCreate_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtCSharpClass.Text))
            {
                return;
            }
            ColumnFromCsharpClass columnFromCsharpClass = Generator.GetColumnFromCSharpClass(txtCSharpClass);
            StringBuilder         stringBuilder         = new StringBuilder();

            foreach (Column col in columnFromCsharpClass.Columns)
            {
                stringBuilder.Append($".Set(s => s.{col.Name}, {columnFromCsharpClass.ClassName.ToLower()}.{col.Name})");
                stringBuilder.Append(Environment.NewLine);
            }

            txtBuilder.Text = stringBuilder.ToString();
            if (ThisApp.currentSession.AutoCopy)
            {
                Clipboard.SetText(txtBuilder.Text);
            }
        }