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); }
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); } }