public static void AddOrUpdate(TabControlTable tabControlTable) { var controlTable = ListTabControlTables.FirstOrDefault(c => c.Table == tabControlTable.Table); if (controlTable != null) { ListTabControlTables.Remove(controlTable); } ListTabControlTables.Add(tabControlTable); }
private void AddModel(string tableName) { foreach (TabPage tab in tabControl1.TabPages) { if (tab.Name == tableName) { return; } } var friendlyName = Services.FriendlyName(tableName); var last = friendlyName[friendlyName.Length - 1]; if (last.Equals('V') && CheckBoxIsView.Checked) { friendlyName = friendlyName.Remove(friendlyName.Length - 1); } friendlyName = friendlyName.Contains("Dlb") ? friendlyName.Replace("Dlb", "") : friendlyName; var nameOfFile = string.Concat(friendlyName, ".cs"); var columnsName = CheckBoxIsView.Checked ? DbUtil.ColumunsViews(tableName) : DbUtil.ColumnsTable(tableName); TabControlTable controlTable = new TabControlTable() { Table = tableName, FriendlyTable = friendlyName, TypeName = checkBoxTypeName.Checked, Length = checkBoxLength.Checked, PrimaryKey = checkBoxPrimaryKey.Checked, Required = checkBoxRequired.Checked, IsView = CheckBoxIsView.Checked, NameSpace = textBoxNamespace.Text, NameOfFile = nameOfFile, Schema = textBoxUserId.Text.ToUpper(), Columns = columnsName }; new TabService().AddPageTab(controlTable, tabControl1, this); }
internal void AddPageTab(TabControlTable controlTable, TabControl tabControl, Form1 form) { var tabPage = new TabPage(controlTable.NameOfFile) { ImageIndex = (int)IconIndex.File, Tag = controlTable, Name = controlTable.Table }; Detail detail = new Detail(); //Get layout var splitForm = detail.Controls.Cast <SplitContainer>().FirstOrDefault(); //Create control panel1 var panel1 = new Panel(); var textArea = new TextAreaController(panel1, form); panel1 = textArea.CreateNew(); panel1.Dock = DockStyle.Fill; splitForm.Panel1.Controls.Add(panel1); //Add columns in ListBox at Panel2 var listbox = splitForm.Panel2.Controls.Cast <ListBox>().FirstOrDefault(); controlTable.Columns.ForEach(c => listbox.Items.Add(c)); listbox.Click += new EventHandler(form.ColumnsItem_Click); listbox.KeyPress += new KeyPressEventHandler(form.ColumnsItem_KeyPress); listbox.MouseDown += new MouseEventHandler(form.Listbox_MouseDown); //Set text in textArea.SetText(Services.GenerateRtbText(Services.MakeView(controlTable))); tabPage.Controls.Add(splitForm); tabControl.TabPages.Add(tabPage); tabControl.SelectedTab = tabPage; }
public static void Remove(TabControlTable tabControlTable) { ListTabControlTables.Remove(tabControlTable); }
public static string MakeView(TabControlTable tabControlTable) { var sb = new StringBuilder(); var source = Properties.Resources.BaseModel; foreach (TableView item in tabControlTable.Columns) { var key = "Key"; var order = $"Order = {item.Position}"; var stringLength = $"StringLength({item.DataLength})"; var typeName = $"TypeName = \"{item.DateType}\""; var required = "Required"; var columnName = $"Column(\"{item.ColumnName}\", {typeName} {(item.Position > 0 ? ", " + order : string.Empty) })"; if (item.Position > 0 && tabControlTable.PrimaryKey) { sb.AppendLine($"[{key}]"); } if (tabControlTable.Required && item.Nullable == DataType.Nullable && item.DateType == DataType.Varchar2) { sb.AppendLine($"[{required}]"); } if (tabControlTable.Length && item.DateType != DataType.Date) { sb.AppendLine($"[{stringLength}]"); } sb.AppendLine($"[{columnName}]"); string property; switch (item.DateType) { case DataType.Date: property = "DateTime? "; break; case DataType.Number: if (item.DataScale > 0) { property = "decimal"; } else if (item.DataLength >= 19) { property = "long"; } else { property = "int"; } if (!item.Nullable.Equals(DataType.Nullable)) { property = string.Concat(property, "?"); } break; default: property = "string"; break; } sb.AppendLine($"public {property} {item.ColumnNameFriendly} {{ get; set; }}"); sb.AppendLine(string.Empty); } return(source.Replace("_NAMESPACE", tabControlTable.NameSpace) .Replace("_TABLENAME", tabControlTable.Table) .Replace("_SCHEMA", tabControlTable.Schema) .Replace("_MODELNAME", tabControlTable.FriendlyTable) .Replace("_COLUMNS", sb.ToString())); }