//create listview on user control private void generateCustomcontrolListviewClass(string tableName, string projectName) { string customeFormClass = ""; customeFormClass += "\n"; customeFormClass += "using System;\n"; customeFormClass += "using System.Collections.Generic;\n"; customeFormClass += "using System.ComponentModel;\n"; customeFormClass += "using System.Drawing;\n"; customeFormClass += "using System.Data;\n"; customeFormClass += "using System.Linq;\n"; customeFormClass += "using System.Text;\n"; customeFormClass += "using System.Windows.Forms;\n"; customeFormClass += "using " + projectName + ".model;\n"; customeFormClass += "namespace " + projectName; customeFormClass += "{\n"; customeFormClass += " public partial class UserControl" + tableName + "view : UserControl\n"; customeFormClass += " {\n"; customeFormClass += " public UserControl" + tableName + "view()\n"; customeFormClass += " {\n"; customeFormClass += " InitializeComponent();\n"; customeFormClass += " }\n"; customeFormClass += " int selectedIndex = 0;\n"; customeFormClass += " private void UserControl" + tableName + "view_Load(object sender, EventArgs e)\n"; customeFormClass += " {\n"; customeFormClass += " loaddata" + tableName + "(\"\");\n"; customeFormClass += " }\n"; customeFormClass += "//this function is used for search\n"; customeFormClass += " public void loaddata" + tableName + "(string whereclause)\n"; customeFormClass += " {\n"; customeFormClass += " listView1.Columns.Clear();\n"; DataTable dat = new Connectoperations().describeTable(tableName); customeFormClass += " listView1.Columns.Add(\"No\", 50, HorizontalAlignment.Left);\n"; bool setidwith = true; int columnWidth=100; foreach (DataRow row in dat.Rows) { //set id column width to 0 id if (setidwith) { columnWidth = 0; setidwith = false; } else { columnWidth = 100; } string attribute = row[0].ToString(); customeFormClass += " listView1.Columns.Add(\"" + attribute + "\", "+columnWidth+", HorizontalAlignment.Left);\n"; } customeFormClass += " DataTable dat = new " + tableName + "muid().selecttable" + tableName + "(\"*\", whereclause);\n"; customeFormClass += " listView1.Items.Clear();\n"; customeFormClass += " int counter = 1;\n"; customeFormClass += " foreach (DataRow row in dat.Rows)\n"; customeFormClass += " {\n"; customeFormClass += " ListViewItem lv = new ListViewItem(counter.ToString());\n"; for (int i = 0; i < dat.Rows.Count; i++) { customeFormClass += " lv.SubItems.Add(row[" + i + "].ToString());\n"; } customeFormClass += " counter++;\n"; customeFormClass += " listView1.Items.Add(lv);\n"; customeFormClass += " }\n"; customeFormClass += "}\n"; //hasMany functions customeFormClass += "//has many functions\n"; //create associations List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods //create field name for the hastables for (int y = 0; y < lcr[x].has.Count; y++) { string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; //create fieldname for the current table customeFormClass += " private void loaddata" + tableName + hasTableName + "hasMany(string andorclause)\n"; customeFormClass += " {\n"; customeFormClass += "listView1.Columns.Clear();\n"; DataTable datparent = new Connectoperations().describeTable(tableName); customeFormClass += " listView1.Columns.Add(\"No\", 50, HorizontalAlignment.Left);\n"; foreach (DataRow row in datparent.Rows) { string attribute =tableName+ row[0].ToString(); attribute = tableName +":"+ row[0].ToString(); customeFormClass += " listView1.Columns.Add(\"" + attribute + "\", 100, HorizontalAlignment.Left);\n"; } DataTable datchild = new Connectoperations().describeTable(hasTableName); foreach (DataRow row in datchild.Rows) { string attribute = row[0].ToString(); attribute = hasTableName +":"+ row[0].ToString(); customeFormClass += " listView1.Columns.Add(\"" + attribute + "\", 100, HorizontalAlignment.Left);\n"; } customeFormClass += " DataTable dat = new " + tableName + "muid()." + tableName + hasTableName + "hasMany(andorclause);\n"; customeFormClass += " listView1.Items.Clear();\n"; customeFormClass += " int counter = 1;\n"; customeFormClass += " foreach (DataRow row in dat.Rows)\n"; customeFormClass += " {\n"; customeFormClass += " ListViewItem lv = new ListViewItem(counter.ToString());\n"; //get the fields for (int i = 0; i < (datparent.Rows.Count+datchild.Rows.Count); i++) { customeFormClass += " lv.SubItems.Add(row[" + i + "].ToString());\n"; } customeFormClass += " counter++;\n"; customeFormClass += " listView1.Items.Add(lv);\n"; customeFormClass += " }\n"; customeFormClass += "}\n"; }//end has to //create field name for the belongs //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // string belongsToField = belongsToString[1]; // //create fieldname for the current table // customeFormClass += " private void loaddata" + tableName + belongsToTableName + "(string andorclause)\n"; // customeFormClass += " {\n"; // customeFormClass += "listView1.Columns.Clear();\n"; // DataTable datparent = new Connectoperations().describeTable(tableName); // customeFormClass += " listView1.Columns.Add(\"No\", 50, HorizontalAlignment.Left);\n"; // foreach (DataRow row in datparent.Rows) // { // string attribute = tableName + row[0].ToString(); // attribute = tableName + ":" + row[0].ToString(); // customeFormClass += " listView1.Columns.Add(\"" + attribute + "\", 100, HorizontalAlignment.Left);\n"; // } // DataTable datchild = new Connectoperations().describeTable(belongsToTableName); // foreach (DataRow row in datchild.Rows) // { // string attribute = row[0].ToString(); // attribute = belongsToTableName + ":" + row[0].ToString(); // customeFormClass += " listView1.Columns.Add(\"" + attribute + "\", 100, HorizontalAlignment.Left);\n"; // } // customeFormClass += " DataTable dat = new " + tableName + "muid()." + tableName + belongsToTableName + "(andorclause);\n"; // customeFormClass += " listView1.Items.Clear();\n"; // customeFormClass += " int counter = 1;\n"; // customeFormClass += " foreach (DataRow row in dat.Rows)\n"; // customeFormClass += " {\n"; // customeFormClass += " ListViewItem lv = new ListViewItem(counter.ToString());\n"; // //get the fields // for (int i = 0; i < (datparent.Rows.Count + datchild.Rows.Count); i++) // { // customeFormClass += " lv.SubItems.Add(row[" + i + "].ToString());\n"; // } // customeFormClass += " counter++;\n"; // customeFormClass += " listView1.Items.Add(lv);\n"; // customeFormClass += " }\n"; // customeFormClass += "}\n"; //}//end belongs to } } //events for assoc // List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods //create field name for the hastables for (int y = 0; y < lcr[x].has.Count; y++) { string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; customeFormClass += " private void "+tableName+hasTableName+"ToolStripMenuItem_Click(object sender, EventArgs e)\n"; customeFormClass += " {\n"; customeFormClass += " loaddata" + tableName + hasTableName + "hasMany(\" and \" + toolStripComboBox1.Text + \" like '%\" + toolStripTextBox1.Text + \"%'\"); \n"; customeFormClass += " }\n"; }//end has //create field name for the hastables //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // string belongsToField = belongsToString[1]; // customeFormClass += " private void " + tableName + belongsToTableName + "ToolStripMenuItem_Click(object sender, EventArgs e)\n"; // customeFormClass += " {\n"; // customeFormClass += " loaddata" + tableName + belongsToTableName + "(\" and \" + toolStripComboBox1.Text + \" like '%\" + toolStripTextBox1.Text + \"%'\"); \n"; // customeFormClass += " }\n"; //} } } customeFormClass += " private void " + tableName + "ToolStripMenuItem_Click(object sender, EventArgs e)\n"; customeFormClass += " {\n"; customeFormClass += " loaddata" + tableName + "(\"where \" + toolStripComboBox1.Text + \" like '%\" + toolStripTextBox1.Text + \"%'\"); \n"; customeFormClass += " }\n"; customeFormClass += "//search any record in the listview\n"; customeFormClass += " private void toolStripMenuItemSearch_Click(object sender, EventArgs e)\n"; customeFormClass += "{\n"; customeFormClass += " loaddata"+tableName+"(\"where \" + toolStripComboBox1.Text + \" like '%\" + toolStripTextBox1.Text + \"%'\");\n"; customeFormClass += "}\n"; customeFormClass += " private void updateToolStripMenuItem_Click(object sender, EventArgs e)\n"; customeFormClass += "{\n"; //customeFormClass += " new Form" + tableName + "muid().Show();\n"; customeFormClass += ("Form" + tableName + "muid " + tableName + "muid = new Form" + tableName + "muid();\n"); //link to the MUID Form/user control customeFormClass += (tableName + "muid.userControl" + tableName + "insert1.loaddata(listView1, selectedIndex, 1);\n"); customeFormClass += (tableName + "muid.Show();\n"); customeFormClass += "}\n"; //TODO implement Clearing of input fields customeFormClass += " private void newToolStripMenuItem_Click(object sender, EventArgs e)\n"; customeFormClass += "{\n"; //customeFormClass += " new Form" + tableName + "muid().Show();\n"; customeFormClass += ("Form" + tableName + "muid " + tableName + "muid = new Form" + tableName + "muid();\n"); //link to the MUID Form/user control customeFormClass += (tableName + "muid.userControl" + tableName + "insert1.loaddata(listView1, selectedIndex, 0);\n"); customeFormClass += (tableName + "muid.Show();\n"); customeFormClass += "}\n"; customeFormClass += "private void deleteToolStripMenuItem_Click(object sender, EventArgs e)\n"; customeFormClass += "{\n"; customeFormClass += "}\n"; customeFormClass += "private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)\n"; customeFormClass += "{\n"; customeFormClass += "selectedIndex = e.ItemIndex;\n"; customeFormClass += "}\n"; customeFormClass += " }\n"; customeFormClass += "}\n"; string path = ""; path = Directory.GetCurrentDirectory() + "\\" + projectName + "\\" + projectName + "\\view\\UserControl" + tableName + "view.cs"; File.WriteAllText(path, customeFormClass); }
private void generateCustomcontrolListviewDesigner(string tableName, string projectName, List<string> mycontrols) { string customeFormDesigner = ""; customeFormDesigner += "\n"; customeFormDesigner += " namespace " + projectName + "\n"; customeFormDesigner += "{\n"; customeFormDesigner += "partial class UserControl" + tableName + "view\n"; customeFormDesigner += "{\n"; customeFormDesigner += " private System.ComponentModel.IContainer components = null;\n"; customeFormDesigner += " protected override void Dispose(bool disposing)\n"; customeFormDesigner += " {\n"; customeFormDesigner += " if (disposing && (components != null))\n"; customeFormDesigner += " {\n"; customeFormDesigner += " components.Dispose();\n"; customeFormDesigner += " }\n"; customeFormDesigner += " base.Dispose(disposing);\n"; customeFormDesigner += " }\n"; customeFormDesigner += " #region Component Designer generated code\n"; customeFormDesigner += " private void InitializeComponent()\n"; customeFormDesigner += " {\n"; customeFormDesigner += " this.components = new System.ComponentModel.Container();\n"; customeFormDesigner += " this.groupBox1 = new System.Windows.Forms.GroupBox();\n"; customeFormDesigner += " this.listView1 = new System.Windows.Forms.ListView();\n"; customeFormDesigner += " this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);\n"; customeFormDesigner += " this.toolStripMenuItemView = new System.Windows.Forms.ToolStripMenuItem();\n"; //view toolstripmenuitem go here customeFormDesigner += " this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; //edit toolstripmenuitem go here customeFormDesigner += " this.updateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; customeFormDesigner += " this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; customeFormDesigner += " this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; customeFormDesigner += " this.menuStrip1 = new System.Windows.Forms.MenuStrip();\n"; customeFormDesigner += " this.toolStripComboBox1 = new System.Windows.Forms.ToolStripComboBox();\n"; customeFormDesigner += " this.toolStripTextBox1 = new System.Windows.Forms.ToolStripTextBox();\n"; customeFormDesigner += " this.toolStripMenuItemSearch = new System.Windows.Forms.ToolStripMenuItem();\n"; //association //create associations List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods //create field name for the hastables for (int y = 0; y < lcr[x].has.Count; y++) { string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; customeFormDesigner += " this."+tableName+hasTableName+"ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; } //create field name for the belongstables //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // string belongsToField = belongsToString[1]; // customeFormDesigner += " this." + tableName + belongsToTableName + "ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; //} } } customeFormDesigner += " this." + tableName+ "ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n"; customeFormDesigner += " this.groupBox1.SuspendLayout();\n"; customeFormDesigner += " this.contextMenuStrip1.SuspendLayout();\n"; customeFormDesigner += " this.menuStrip1.SuspendLayout();\n"; customeFormDesigner += " this.SuspendLayout();\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // groupBox1\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)\n"; customeFormDesigner += " | System.Windows.Forms.AnchorStyles.Left)\n"; customeFormDesigner += " | System.Windows.Forms.AnchorStyles.Right)));\n"; customeFormDesigner += " this.groupBox1.Controls.Add(this.listView1);\n"; customeFormDesigner += " this.groupBox1.Location = new System.Drawing.Point(3, 28);\n"; customeFormDesigner += " this.groupBox1.Name = \"groupBox1\";\n"; customeFormDesigner += " this.groupBox1.Size = new System.Drawing.Size(694, 348);\n"; customeFormDesigner += " this.groupBox1.TabIndex = 0;\n"; customeFormDesigner += " this.groupBox1.TabStop = false;\n"; customeFormDesigner += " this.groupBox1.Text = \"\";\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // listView1\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.listView1.ContextMenuStrip = this.contextMenuStrip1;\n"; customeFormDesigner += " this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;\n"; customeFormDesigner += " this.listView1.FullRowSelect = true;\n"; customeFormDesigner += " this.listView1.GridLines = true;\n"; customeFormDesigner += " this.listView1.Location = new System.Drawing.Point(3, 16);\n"; customeFormDesigner += " this.listView1.Name = \"listView1\";\n"; customeFormDesigner += " this.listView1.Size = new System.Drawing.Size(688, 329);\n"; customeFormDesigner += " this.listView1.TabIndex = 0;\n"; customeFormDesigner += " this.listView1.UseCompatibleStateImageBehavior = false;\n"; customeFormDesigner += " this.listView1.View = System.Windows.Forms.View.Details;\n"; customeFormDesigner += " this.listView1.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listView1_ItemSelectionChanged);\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // contextMenuStrip1\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n"; customeFormDesigner += " this.toolStripMenuItemView,\n"; customeFormDesigner += " this.editToolStripMenuItem});\n"; customeFormDesigner += " this.contextMenuStrip1.Name = \"contextMenuStrip1\";\n"; customeFormDesigner += " this.contextMenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\n"; customeFormDesigner += " this.contextMenuStrip1.Size = new System.Drawing.Size(100, 26);\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // toolStripMenuItemView\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.toolStripMenuItemView.Name = \"toolStripMenuItemView\";\n"; customeFormDesigner += " this.toolStripMenuItemView.Size = new System.Drawing.Size(99, 22);\n"; customeFormDesigner += " this.toolStripMenuItemView.Text = \"View\";\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // menuStrip1\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n"; customeFormDesigner += " this.toolStripComboBox1,\n"; customeFormDesigner += " this.toolStripTextBox1,\n"; customeFormDesigner += " this.toolStripMenuItemSearch});\n"; customeFormDesigner += " this.menuStrip1.Location = new System.Drawing.Point(0, 0);\n"; customeFormDesigner += " this.menuStrip1.Name = \"menuStrip1\";\n"; customeFormDesigner += " this.menuStrip1.Size = new System.Drawing.Size(700, 27);\n"; customeFormDesigner += " this.menuStrip1.TabIndex = 1;\n"; customeFormDesigner += " this.menuStrip1.Text = \"menuStrip1\";\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // toolStripComboBox1\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.toolStripComboBox1.Items.AddRange(new object[] {\n"; DataTable dat = new Connectoperations().describeTable(tableName); string delimeter = ","; string str = ""; int i = 0; foreach (DataRow row in dat.Rows) { if (i++ > dat.Rows.Count - 2) delimeter = ""; str += "\"" + row[0].ToString() + "\"" + delimeter; } customeFormDesigner += str; //hasmany search fields //List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods //create field name for the hastables for (int y = 0; y < lcr[x].has.Count; y++) { string mydelim = ",\n"; string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; dat = new Connectoperations().describeTable(hasTableName); customeFormDesigner += ","; string hasField = hasString[1]; for(int a=1;a<dat.Rows.Count;a++) { if (a > dat.Rows.Count - 2) { mydelim = ""; } customeFormDesigner +="\""+dat.Rows[a][0].ToString()+"\""+mydelim+"\n"; } } //create field name for the hastables //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string mydelim = ",\n"; // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // dat = new Connectoperations().describeTable(belongsToTableName); // customeFormDesigner += ","; // string belongsToField = belongsToString[1]; // for (int a = 1; a < dat.Rows.Count; a++) // { // if (a > dat.Rows.Count - 2) // { // mydelim = ""; // } // customeFormDesigner += "\"" + dat.Rows[a][0].ToString() + "\"" + mydelim + "\n"; // } //} } } customeFormDesigner += " });\n"; customeFormDesigner += " this.toolStripComboBox1.Name = \"toolStripComboBox1\";\n"; customeFormDesigner += " this.toolStripComboBox1.Size = new System.Drawing.Size(121, 23);\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // toolStripTextBox1\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.toolStripTextBox1.Name = \"toolStripTextBox1\";\n"; customeFormDesigner += " this.toolStripTextBox1.Size = new System.Drawing.Size(200, 23);\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // toolStripMenuItemSearch\n"; customeFormDesigner += " // \n"; //create associations //List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); //create field name for the hastables customeFormDesigner += " this.toolStripMenuItemSearch.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n"; customeFormDesigner += "this." + tableName + "ToolStripMenuItem\n"; for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods if (lcr[x].has.Count> 0) { customeFormDesigner += ","; } for (int y = 0; y < lcr[x].has.Count; y++) { string mydelim = ","; string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; if (y > lcr[x].has.Count - 2) { mydelim = ""; } customeFormDesigner += "this."+tableName+hasTableName+"ToolStripMenuItem" + mydelim +"\n"; } //create has class methods //if (lcr[x].belongsTo.Count > 0) //{ // customeFormDesigner += ","; //} //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string mydelim = ","; // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // string belongsToField = belongsToString[1]; // if (y > lcr[x].has.Count - 2) // { // mydelim = ""; // } // customeFormDesigner += "this." + tableName + belongsToTableName + "ToolStripMenuItem" + mydelim + "\n"; //} } } customeFormDesigner += "});\n"; customeFormDesigner += " this.toolStripMenuItemSearch.Name = \"toolStripMenuItemSearch\";\n"; customeFormDesigner += " this.toolStripMenuItemSearch.Size = new System.Drawing.Size(54, 23);\n"; customeFormDesigner += " this.toolStripMenuItemSearch.Text = \"View&Search\";\n"; customeFormDesigner += " // \n"; //assoc //create associations // List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods //create field name for the hastables for (int y = 0; y < lcr[x].has.Count; y++) { string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; customeFormDesigner += " this."+tableName+hasTableName+"ToolStripMenuItem.Name = \"studentToolStripMenuItem\";\n"; customeFormDesigner += " this."+tableName+hasTableName+"ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; customeFormDesigner += " this."+tableName+hasTableName+"ToolStripMenuItem.Text = \""+tableName+"->"+hasTableName+"\";\n"; customeFormDesigner += " this." + tableName + hasTableName + "ToolStripMenuItem.Click += new System.EventHandler(this." + tableName + hasTableName + "ToolStripMenuItem_Click);\n"; } //create field name for the hastables //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // string belongsToField = belongsToString[1]; // customeFormDesigner += " this." + tableName + belongsToTableName + "ToolStripMenuItem.Name = \"studentToolStripMenuItem\";\n"; // customeFormDesigner += " this." + tableName + belongsToTableName + "ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; // customeFormDesigner += " this." + tableName + belongsToTableName + "ToolStripMenuItem.Text = \"" + tableName + "->" + belongsToTableName + "\";\n"; // customeFormDesigner += " this." + tableName + belongsToTableName + "ToolStripMenuItem.Click += new System.EventHandler(this." + tableName + belongsToTableName + "ToolStripMenuItem_Click);\n"; //} } } //default table customeFormDesigner += " this." + tableName + "ToolStripMenuItem.Name = \"studentToolStripMenuItem\";\n"; customeFormDesigner += " this." + tableName + "ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; customeFormDesigner += " this." + tableName + "ToolStripMenuItem.Text = \"" + tableName + "->" + "\";\n"; customeFormDesigner += " this." + tableName + "ToolStripMenuItem.Click += new System.EventHandler(this." + tableName+"ToolStripMenuItem_Click);\n"; //view items go here customeFormDesigner += " // \n"; customeFormDesigner += " // editToolStripMenuItem\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n"; customeFormDesigner += " this.updateToolStripMenuItem,\n"; customeFormDesigner += " this.newToolStripMenuItem,\n"; customeFormDesigner += " this.deleteToolStripMenuItem});\n"; customeFormDesigner += " this.editToolStripMenuItem.Name = \"editToolStripMenuItem\";\n"; customeFormDesigner += " this.editToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; customeFormDesigner += " this.editToolStripMenuItem.Text = \"Edit\";\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // updateToolStripMenuItem\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.updateToolStripMenuItem.Name = \"updateToolStripMenuItem\";\n"; customeFormDesigner += " this.updateToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; customeFormDesigner += " this.updateToolStripMenuItem.Text = \"Update\";\n"; customeFormDesigner += " this.updateToolStripMenuItem.Click += new System.EventHandler(this.updateToolStripMenuItem_Click);\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // newToolStripMenuItem\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.newToolStripMenuItem.Name = \"newToolStripMenuItem\";\n"; customeFormDesigner += " this.newToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; customeFormDesigner += " this.newToolStripMenuItem.Text = \"New\";\n"; customeFormDesigner += " this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);\n"; customeFormDesigner += " // \n"; customeFormDesigner += " // deleteToolStripMenuItem\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.deleteToolStripMenuItem.Name = \"deleteToolStripMenuItem\";\n"; customeFormDesigner += " this.deleteToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\n"; customeFormDesigner += " this.deleteToolStripMenuItem.Text = \"Delete\";\n"; customeFormDesigner += " this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click);\n"; customeFormDesigner += " // UserControlgreenapple\n"; customeFormDesigner += " // \n"; customeFormDesigner += " this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\n"; customeFormDesigner += " this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n"; customeFormDesigner += " this.Controls.Add(this.groupBox1);\n"; customeFormDesigner += " this.Controls.Add(this.menuStrip1);\n"; customeFormDesigner += " this.Name = \"UserControl" + tableName + "view\";\n"; customeFormDesigner += " this.Size = new System.Drawing.Size(700, 379);\n"; customeFormDesigner += " this.Load += new System.EventHandler(this.UserControl" + tableName + "view_Load);\n"; customeFormDesigner += " this.groupBox1.ResumeLayout(false);\n"; customeFormDesigner += " this.contextMenuStrip1.ResumeLayout(false);\n"; customeFormDesigner += " this.menuStrip1.ResumeLayout(false);\n"; customeFormDesigner += " this.menuStrip1.PerformLayout();\n"; customeFormDesigner += " this.ResumeLayout(false);\n"; customeFormDesigner += " this.PerformLayout();\n"; customeFormDesigner += " }\n"; customeFormDesigner += " #endregion\n"; customeFormDesigner += " private System.Windows.Forms.GroupBox groupBox1;\n"; customeFormDesigner += " private System.Windows.Forms.MenuStrip menuStrip1;\n"; customeFormDesigner += " private System.Windows.Forms.ToolStripComboBox toolStripComboBox1;\n"; customeFormDesigner += " private System.Windows.Forms.ToolStripTextBox toolStripTextBox1;\n"; customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemSearch;\n"; customeFormDesigner += " private System.Windows.Forms.ListView listView1;\n"; customeFormDesigner += " private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;\n"; customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemView;\n"; //view toolstripmenuitem go here customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;\n"; //edit toolstripmenuitem go here customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem updateToolStripMenuItem;\n"; customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;\n"; customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem deleteToolStripMenuItem;\n"; //add table association menus //create associations //List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods //create field name for the hastables for (int y = 0; y < lcr[x].has.Count; y++) { string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem "+tableName+hasTableName+"ToolStripMenuItem;\n"; } //create field name for the belong to //for (int y = 0; y < lcr[x].belongsTo.Count; y++) //{ // string[] belongsToString = lcr[x].belongsTo[y].Split('#'); // string belongsToTableName = belongsToString[0]; // string belongsToField = belongsToString[1]; // customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem " + tableName + belongsToTableName + "ToolStripMenuItem;\n"; //} } } //create for current table customeFormDesigner += " private System.Windows.Forms.ToolStripMenuItem " + tableName + "ToolStripMenuItem;\n"; customeFormDesigner += " }\n"; customeFormDesigner += "}\n"; string path = ""; path = Directory.GetCurrentDirectory() + "\\" + projectName + "\\" + projectName + "\\view\\UserControl" + tableName + "view.Designer.cs"; File.WriteAllText(path, customeFormDesigner); }
/// <summary> /// genereates muid ie merge,update,insert and delete methods /// </summary> /// <param name="tableName">the name of the table for which muid is being generated</param> /// <returns>string</returns> public string generateMUID(string tableName,string projectName) { string muidString = ""; try { muidString += "\n"; //create insert muidString += "public bool insert" + tableName + " (string attributes,string values){\n"; muidString += "if(new " + tableName + "Control().BeforeInsert()==true){\n"; muidString += "if(new Connectoperations().insert(\"" + tableName + "\",attributes,values)>0){\n"; muidString += "MessageBox.Show(\"captured!\");\n"; muidString += "if(new " + tableName + "Control().AfterInsert()==true){\n"; muidString += "return true;\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "MessageBox.Show(\"Failed!\");\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "MessageBox.Show(\"Failed!\");\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; //create update muidString += "public bool update" + tableName + " (string attributes,string values,string where){\n"; muidString += "if(new " + tableName + "Control().BeforeUpdate()==true){\n"; muidString += "if(new Connectoperations().update(\"" + tableName + "\",attributes,values,where)>0){\n"; muidString += "MessageBox.Show(\"updated!\");\n"; muidString += "if(new " + tableName + "Control().AfterUpdate()==true){\n"; muidString += "return true;\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "MessageBox.Show(\"Failed!\");\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "MessageBox.Show(\"Failed!\");\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; //create select muidString += "public DataTable selecttable" + tableName + "(string attributes,string where){\n"; muidString += "DataTable dt= new DataTable();\n"; muidString += "if(new " + tableName + "Control().BeforeSelect()==true){\n"; muidString += "dt=new Connectoperations().selectdatable(\"" + tableName + "\",attributes,where);\n"; muidString += "if(new " + tableName + "Control().AfterSelect()==true){\n"; muidString += "return dt;\n"; muidString += "}\n"; muidString += "else\n"; muidString += "{\n"; muidString += "return new DataTable();\n"; muidString += "}\n"; muidString += "}\n"; muidString += "return dt;\n"; muidString += "}\n"; //create select single muidString += "public string selectsinglevalue" + tableName + "(string attribute,string where){\n"; muidString += "string str= \"\";\n"; muidString += "if(new " + tableName + "Control().BeforeSelect()==true){\n"; muidString += "str=new Connectoperations().singleval(\"" + tableName + "\",attribute,where);\n"; muidString += "if(new " + tableName + "Control().AfterSelect()==true){\n"; muidString += "return str;\n"; muidString += "}\n"; muidString += "else\n"; muidString += "{\n"; muidString += "return \"\";\n"; muidString += "}\n"; muidString += "}\n"; muidString += "return str;\n"; muidString += "}\n"; //create delete muidString += "public bool delete" + tableName + " (string where){\n"; muidString += "if(new " + tableName + "Control().BeforeDelete()==true){\n"; muidString += "if(new Connectoperations().delete(\"" + tableName + "\",where)>0){\n"; muidString += "MessageBox.Show(\"deleted!\");\n"; muidString += "if(new " + tableName + "Control().AfterDelete()==true){\n"; muidString += "return true;\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "MessageBox.Show(\"Failed!\");\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; muidString += "else{\n"; muidString += "MessageBox.Show(\"Failed!\");\n"; muidString += "return false;\n"; muidString += "}\n"; muidString += "}\n"; //generateProjectProperty list of property muidString += "public List<" + tableName + "Property> listOf" + tableName + "(){\n"; muidString += "List<" + tableName + "Property> mylistOf" + tableName + "=new List<" + tableName + "Property>();\n"; muidString += "if(new " + tableName + "Control().BeforeSelect()==true){\n"; muidString += "DataTable dat= selecttable" + tableName + "(\"*\",\"\");\n"; //loop for attributes int i = 0; DataTable table = new Connectoperations().describeTable(tableName); muidString += "foreach(DataRow row in dat.Rows){\n"; muidString += tableName + "Property mylist= new " + tableName + "Property();\n"; foreach (DataRow drow in table.Rows) { string dataType = drow[1].ToString();//.Substring(0, 3); string attributeName = drow[0].ToString(); int count = 0; count = dataType.IndexOf('('); try { dataType = dataType.Substring(0, count); } catch { dataType = drow[1].ToString(); } switch (dataType) { case "int": case "tinyint": case "smallint": case "bigint": case "mediumint": muidString += ("mylist." + attributeName + "=Convert.ToInt32(row[" + (i++) + "].ToString());\n"); break; case "varchar": case "text": case "time": case "timestamp": case "bit": case "bool": case "enum": case "set": case "serial": case "tinytext": case "mediumtext": case "longtext": muidString += ("mylist." + attributeName + "=Convert.ToString(row[" + (i++) + "].ToString());\n"); break; case "char": muidString += ("mylist." + attributeName + "=Convert.ToChar(row[" + (i++) + "].ToString());\n"); break; case "float": muidString += ("mylist." + attributeName + "= Convert.ToSingle(row[" + (i++) + "].ToString());\n"); break; case "double": case "decimal": case "real": muidString += ("mylist." + attributeName + "= Convert.ToDouble(row[" + (i++) + "].ToString());\n"); break; case "date": case "datetime": case "year": muidString += ("mylist." + attributeName + "=Convert.ToDateTime(row[" + (i++) + "].ToString());\n"); break; case "longblob": case "blob": case "mediumblob": case "tinyblob": muidString += ("mylist." + attributeName + "=(byte[])row[" + (i++) + "];\n"); break; }//end switch }//end attributes muidString += "mylistOf" + tableName + ".Add(mylist);\n"; muidString += "if(new " + tableName + "Control().AfterSelect()==true){\n"; muidString += "return mylistOf" + tableName + ";\n"; muidString += "}\n"; muidString += "else\n"; muidString += "{\n"; muidString += "return new List<" + tableName + "Property>();\n"; muidString += "}\n"; muidString += "}\n"; muidString += "}\n"; muidString += "return mylistOf" + tableName + ";\n"; muidString += "}\n"; muidString += " public string getmysqldate(DateTimePicker dt)\n"; muidString += "{\n"; muidString += "dt.Format = DateTimePickerFormat.Long;\n"; muidString += "return new Connectoperations().mysqldate(Convert.ToDateTime(dt.Value));\n"; muidString += "}\n"; muidString += "//Validation methods\n"; muidString += "public bool validate_int(string val){\n"; muidString += "return Regex.IsMatch(val, @\"[0-9]+\");\n"; muidString += "}\n"; muidString += "public bool validate_floatpoints(string val){\n"; muidString += "return Regex.IsMatch(val, @\"[0-9]+\\.\\[0-9]+\");\n"; muidString += "}\n"; muidString += "public bool validate_date(string val){\n"; muidString += "// Return true if val is valid mysql date format.\n"; muidString += "return true;\n"; muidString += "}\n"; muidString += "public bool validate_email(string val){\n"; muidString += "// Return true if val is in valid e-mail format.\n"; muidString += "return Regex.IsMatch(val, @\"\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*([,;]\\s*\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*)*\");\n"; muidString += "}\n"; //create associations List<ClassRelations> lcr = new List<ClassRelations>(); lcr = new ClassGenerateRelation().loadRelations(projectName, ".NET", "Forms", "C#", tableName); for (int x = 0; x < lcr.Count; x++) { if (lcr[x].name == tableName) { //create has class methods for (int y = 0; y < lcr[x].has.Count; y++) { string[] hasString = lcr[x].has[y].Split('#'); string hasTableName = hasString[0]; string hasField = hasString[1]; //create a specific method muidString += "public DataTable " + tableName +hasTableName+ "hasMany(string andorclause){\n"; muidString += "DataTable dt= new DataTable();\n"; muidString += "if(new " + tableName + "Control().BeforeSelect()==true){\n"; muidString += "dt=new Connectoperations().selectdatable(\"" + tableName+","+hasTableName + "\",\"*\",\"where "+tableName+".id="+hasTableName+"."+hasField+" \"+ andorclause);\n"; muidString += "if(new " + tableName + "Control().AfterSelect()==true){\n"; muidString += "return dt;\n"; muidString += "}\n"; muidString += "else\n"; muidString += "{\n"; muidString += "return new DataTable();\n"; muidString += "}\n"; muidString += "}\n"; muidString += "return dt;\n"; muidString += "}\n"; }//end for //create has class methods for (int y = 0; y < lcr[x].belongsTo.Count; y++) { string[] belongToString = lcr[x].belongsTo[y].Split('#'); string belongsToTableName = belongToString[0]; string belongsToField = belongToString[1]; //create a specific method muidString += "public DataTable " + tableName + belongsToTableName + "belongsTo(string andorclause){\n"; muidString += "DataTable dt= new DataTable();\n"; muidString += "if(new " + tableName + "Control().BeforeSelect()==true){\n"; muidString += "dt=new Connectoperations().selectdatable(\"" + tableName + "," + belongsToTableName + "\",\"*\",\"where " + tableName + ".id=" + tableName + "." + belongsToField + " \"+ andorclause);\n"; muidString += "if(new " + tableName + "Control().AfterSelect()==true){\n"; muidString += "return dt;\n"; muidString += "}\n"; muidString += "else\n"; muidString += "{\n"; muidString += "return new DataTable();\n"; muidString += "}\n"; muidString += "}\n"; muidString += "return dt;\n"; muidString += "}\n"; }//end for } } return muidString; } catch (Exception ex) { MessageBox.Show(ex.Message); return muidString; } }