public static bool AlreadyExistInUniqueConstraintNameList(List<ViewXml> ViewXmllist, string x, ref ViewXml found_ViewXml) { foreach (ViewXml xViewXml in ViewXmllist) { if (xViewXml.Name.Equals(x)) { found_ViewXml = xViewXml; return true; } } return false; }
internal bool GetTableView(DBConnection sQL_Connection, ViewXml m_ViewXml, ref DataTable dt, ref string csError) { bool bRet = true; String SqlCmd = m_ViewXml.SQLView; dt.TableName = TableName; if (sQL_Connection.ReadDataTable(ref dt, SqlCmd, ref csError)) { bRet= true; } else { bRet = false; } return bRet; }
// BINDS flowLayoutPanel1, flowLayoutPanel2 and DefineView_InputControls to XML ! public void DynamicCreateControls(ViewXml xViewXml) { flowLayoutPanel1.Controls.Clear(); flowLayoutPanel2.Controls.Clear(); m_CurViewXml = new CurViewXml(xViewXml, m_tbl, flowLayoutPanel1, flowLayoutPanel2, _items, m_DBTables, this.m_pTableDockingFormXml.m_ViewXml); this.label_ViewName.Text = lngRPM.s_View.s + " : "; lblViewName.Text = m_CurViewXml.m_ViewXml.Name; if (m_pTableDockingFormXml.m_CreateViewFormXml.m_DefaultViewXml != null) { lblPrimaryView.Text = m_pTableDockingFormXml.m_CreateViewFormXml.m_DefaultViewXml.Name; } else { lblPrimaryView.Text = ""; } }
/// <summary> /// Create test form /// </summary> /// <param name="identifier">form identifier</param> /// <returns>test form</returns> /// private static Form CreateDockForm(Guid identifier, DBTableControl dbTables, SQLTable x_tbl, TableDockingForm pParentForm, wRect wrect, ViewXml xViewXml,NavigationButtons.Navigation xnav) { if (identifier == new Guid(guid.gDocking_TableGrid_Form.ToByteArray())) { DataTable_Form result = new DataTable_Form(dbTables, x_tbl, DataTable_Form.DataTable_Form_ENUM.EDIT_OR_DELETE, pParentForm); result.Bounds = new Rectangle(wrect.Left, wrect.Top, wrect.Width, wrect.Height); return result; } else if (identifier == new Guid(guid.gDocking_EditTable_Form.ToByteArray())) { EditTable_Form result = new EditTable_Form(dbTables, x_tbl, pParentForm,SetControls,false,xnav); result.Bounds = new Rectangle(wrect.Left, wrect.Top, wrect.Width, wrect.Height); return result; } else if (identifier == new Guid(guid.gDocking_CreateView_Form.ToByteArray())) { CreateView_Form result = new CreateView_Form(dbTables, x_tbl, pParentForm, xnav); result.Bounds = new Rectangle(wrect.Left, wrect.Top, wrect.Width, wrect.Height); return result; } else { for (int i = 0; i < guid.MaxTableViews; i++) { if (identifier == new Guid(guid.gDocking_TableView_Form[i].ToByteArray())) { TableView_Form result = new TableView_Form(i, dbTables, x_tbl, pParentForm, xViewXml); result.Bounds = new Rectangle(wrect.Left, wrect.Top, wrect.Width, wrect.Height); return result; } } } throw new InvalidOperationException(); }
public void Create_TableView_Form(int index, ViewXml ExistingViewXml,NavigationButtons.Navigation xnav) { if (m_TableView_Form[index] == null) { if (m_pTableDockingFormXml.m_TableViewFormXml[index] == null) { m_pTableDockingFormXml.m_TableViewFormXml[index] = new TableViewFormXml(); } m_TableView_Form[index] = (TableView_Form)CreateDockForm(new Guid(guid.gDocking_TableView_Form[index].ToByteArray()), m_DBTables, m_tbl, this, m_pTableDockingFormXml.m_TableViewFormXml[index].wrect, ExistingViewXml,xnav); info_TableView_Form[index] = _docker.Add(m_TableView_Form[index], zAllowedDock.All, new Guid(guid.gDocking_TableView_Form[index].ToByteArray())); _docker.DockForm(info_TableView_Form[index], DockStyle.Right, zDockMode.Inner); } else { m_TableView_Form[index].Activate(); } }
internal StringBuilder SQLCreateView(ref ViewXml xViewXml, DBTableControl m_DBTables, bool bLimit, int limit_number, bool b_order_by_id_desc) { StringBuilder SQL_View = null; if (m_DBTables.m_con.DBType == DBConnection.eDBType.SQLITE) { SQL_View = new StringBuilder(""); } else { SQL_View = new StringBuilder("USE " + m_DBTables.m_con.DataBase + "\n"); } string sLimit = ""; string order_by_id = ""; if (b_order_by_id_desc) { order_by_id = " Order by " + TableName + ".ID desc"; } if (bLimit) { switch (m_DBTables.m_con.DBType) { case DBConnection.eDBType.MSSQL: sLimit = " TOP " + limit_number.ToString() + " "; SQL_View.Append("\nSELECT " + sLimit); break; case DBConnection.eDBType.MYSQL: sLimit = " TOP " + limit_number.ToString() + " "; SQL_View.Append("\nSELECT "); break; case DBConnection.eDBType.SQLITE: sLimit = " LIMIT " + limit_number.ToString() + " "; SQL_View.Append("\nSELECT "); break; } } SQL_View.Append("\n "+ TableName + ".ID"); foreach (ColumnXml xColumnXml in xViewXml.m_ColumnXml) { SQL_View.Append(",\n "+ xColumnXml.m_col.ownerTable.TableName + "." + xColumnXml.m_col.Name); } SQL_View.Append("\n FROM " + TableName ); JoinList xInnerJoinList = new JoinList(); foreach (ColumnXml xColumnXml in xViewXml.m_ColumnXml) { Join FullJoin = GetTopJoin(xColumnXml.m_col.ownerTable.CreateInnerJoin(null)); if (FullJoin != null) { xInnerJoinList.Insert(FullJoin); } else { // this is Member of current table! } } string sWhere = ""; int i=0; foreach (ColumnXml xColumnXml in xViewXml.m_ColumnXml) { if (xColumnXml.bUseSqlFilter) { if (xColumnXml.SqlFilter != null) { if (xColumnXml.SqlFilter.Length > 0) { if (i == 0) { sWhere += xColumnXml.SqlFilter; } else { sWhere += "\nAND " + xColumnXml.SqlFilter; } i++; } } } } if (sWhere.Length>0) { sWhere = "\nWHERE " + sWhere; } string sInnerJoins = xInnerJoinList.SQL_InnerJoins(); if (sInnerJoins.Length > 0) { sInnerJoins = " INNER JOIN " + sInnerJoins; } SQL_View.Append(sInnerJoins); SQL_View.Append(sWhere); if (!((sWhere.ToLower().Contains("order by")) || (sWhere.ToLower().Contains("order by")))) { SQL_View.Append(order_by_id); } if (bLimit) { switch (m_DBTables.m_con.DBType) { case DBConnection.eDBType.MSSQL: break; case DBConnection.eDBType.MYSQL: sLimit = " LIMIT " + limit_number.ToString() + " "; SQL_View.Append(sLimit); break; case DBConnection.eDBType.SQLITE: sLimit = " LIMIT " + limit_number.ToString() + " "; SQL_View.Append(sLimit); break; } } xViewXml.SQLView = SQL_View.ToString(); return SQL_View; }
public CurViewXml(ViewXml CurViewXml, SQLTable tbl, FlowLayoutPanel flowLayoutPanel1, FlowLayoutPanel flowLayoutPanel2, List<DefineView_InputControl> _items, DBTableControl m_DBTables, List<ViewXml> ViewXmlList) { if (CurViewXml != null) { // DefaultView Found; m_ViewXml = new ViewXml(CurViewXml); // Put in flowLayoutPanel1 all those which are in ViewXml! ViewXml refViewXml=null; if (UniqueNames.AlreadyExistInUniqueConstraintNameList(ViewXmlList, CurViewXml.Name, ref refViewXml)) { State = ViewXmlState.EXISTING_VIEW; TableDockingFormXml xTableDockingFormXml = m_DBTables.m_xml.GetTableDockingFormXml(tbl.TableName); if (xTableDockingFormXml.m_CreateViewFormXml.sDefaultView != null) { if (xTableDockingFormXml.m_CreateViewFormXml.sDefaultView.Equals(m_ViewXml.Name)) { State = ViewXmlState.DEFAULT_VIEW; } } } foreach (ColumnXml xColumnXml in CurViewXml.m_ColumnXml) { DefineView_InputControl dvinpctrl = tbl.GetDefineView_InputControl(xColumnXml.Name); if (dvinpctrl != null) { xColumnXml.m_col = dvinpctrl.m_col; Size s; dvinpctrl.Padding = new Padding(0); //dvinpctrl.MainText = "47x100x5400 - 20/100"; dvinpctrl.FillDegree = 20; dvinpctrl.StatusText = ""; dvinpctrl.StatusBarColor = 0; dvinpctrl.bUseSqlFilter = xColumnXml.bUseSqlFilter; if (dvinpctrl.m_chkUseFiler != null) { dvinpctrl.m_chkUseFiler.Checked = dvinpctrl.bUseSqlFilter; } if (xColumnXml.SqlFilter != null) { if (xColumnXml.SqlFilter.Length > 0) { dvinpctrl.SQLFilter = xColumnXml.SqlFilter; if (dvinpctrl.m_txtSQLFilter != null) { dvinpctrl.m_txtSQLFilter.Text = dvinpctrl.SQLFilter; } } } //dvinpctrl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom; //GetCurrentView s = new Size(300, flowLayoutPanel1.Height); flowLayoutPanel1.Controls.Add(dvinpctrl); dvinpctrl.Size = s; _items.Add(dvinpctrl); } } // Put in flowLayoutPanel2 all those which are not in ViewXml foreach (DefineView_InputControl dvinpctrl in tbl.DefineView_inpCtrlList) { ColumnXml xColumnXml = null; if (State== ViewXmlState.DEFAULT_VIEW) { xColumnXml = m_DBTables.m_xml.GetCreateViewDefaultViewColumnXml(tbl.TableName, dvinpctrl.FullName); } else { xColumnXml = m_ViewXml.GetColumnXml(dvinpctrl.FullName); } if (xColumnXml == null) { Size s; dvinpctrl.Padding = new Padding(0); //dvinpctrl.MainText = "47x100x5400 - 20/100"; dvinpctrl.FillDegree = 20; dvinpctrl.StatusText = ""; dvinpctrl.StatusBarColor = 0; //dvinpctrl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom; //GetCurrentView s = new Size(flowLayoutPanel2.Width + 100, 40); flowLayoutPanel2.Controls.Add(dvinpctrl); dvinpctrl.Size = s; _items.Add(dvinpctrl); } } } else { State= ViewXmlState.NEW_VIEW; m_ViewXml = new ViewXml(); m_ViewXml.Name = UniqueNames.GetName(ViewXmlList, tbl.GetFirstViewName()); foreach (DefineView_InputControl dvinpctrl in tbl.DefineView_inpCtrlList) { Size s; dvinpctrl.Padding = new Padding(0); //dvinpctrl.MainText = "47x100x5400 - 20/100"; dvinpctrl.FillDegree = 20; dvinpctrl.StatusText = ""; dvinpctrl.StatusBarColor = 0; //dvinpctrl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom; //GetCurrentView s = new Size(flowLayoutPanel2.Width + 100, 40); flowLayoutPanel2.Controls.Add(dvinpctrl); dvinpctrl.Size = s; _items.Add(dvinpctrl); } } }
internal bool SetCreateViewFormDefaultView(string tablename, ViewXml xViewXml) { TableDockingFormXml xTableDockingFormXml = GetTableDockingFormXml(tablename); if (xTableDockingFormXml != null) { if (xTableDockingFormXml.m_CreateViewFormXml != null) { xTableDockingFormXml.m_CreateViewFormXml.m_DefaultViewXml = xViewXml; return true; } else { MessageBox.Show("ERROR:SetDefaultView,(TableDockingFormXml.m_CreateViewFormXml == null)"); } } else { MessageBox.Show("ERROR:SetDefaultView,(xTableDockingFormXml == null)"); } return false; }
internal ViewXml CreateView(string tablename) { TableDockingFormXml xTableDockingFormXml = GetTableDockingFormXml(tablename); if (xTableDockingFormXml == null) { xTableDockingFormXml = new TableDockingFormXml(tablename); } ViewXml xViewXml= new ViewXml(); xTableDockingFormXml.m_ViewXml.Add(xViewXml); return xViewXml; }
public ViewXml(ViewXml sourceViewXml) { SQLView = sourceViewXml.SQLView; Name = sourceViewXml.Name; foreach (ColumnXml colxml in sourceViewXml.m_ColumnXml) { ColumnXml ncol = new ColumnXml(colxml); m_ColumnXml.Add(ncol); } }
internal void Parse(XmlNode node, ref bool bRes) { XmlAttributeCollection attrcollection = node.Attributes; StaticXml.Get_wRect(ref wrect, attrcollection); foreach (XmlAttribute attr in attrcollection) { if (attr.Name.Equals(const_Table)) { TableName = attr.Value; } } string sDefaultView=""; int indexOfTableViewForm = 0; foreach (XmlNode node1 in node.ChildNodes) { if (node1.Name.Equals(const_CreateViewForm)) { m_CreateViewFormXml = new CreateViewFormXml(); m_CreateViewFormXml.Parse(node1,ref bRes); } else if (node1.Name.Equals(const_EditTableForm)) { m_EditTableFormXml = new EditTableFormXml(); m_EditTableFormXml.Parse(node1,ref bRes); } else if (node1.Name.Equals(const_DataTableForm)) { m_DataTableFormXml = new DataTableFormXml(); m_DataTableFormXml.Parse(node1,ref bRes); } else if (OneOfTableViewForms(node1.Name,ref indexOfTableViewForm)) { if (indexOfTableViewForm < guid.MaxTableViews) { m_TableViewFormXml[indexOfTableViewForm] = new TableViewFormXml(); m_TableViewFormXml[indexOfTableViewForm].Parse(node1, ref bRes); } else { MessageBox.Show("Error To many TableViewForms ! Max =" + const_TableViewForm.ToString()); } } else if (node1.Name.Equals(const_View)) { ViewXml xViewXml = new ViewXml(); xViewXml.Parse(node1, ref bRes); m_ViewXml.Add(xViewXml); if (m_CreateViewFormXml != null) { if (m_CreateViewFormXml.sDefaultView != null) { if (m_CreateViewFormXml.sDefaultView.Equals(xViewXml.Name)) { m_CreateViewFormXml.m_DefaultViewXml = xViewXml; } } } int i; for (i = 0; i < guid.MaxTableViews; i++) { if (m_TableViewFormXml[i] != null) { if (m_TableViewFormXml[i].sDefaultView != null) { if (m_TableViewFormXml[i].sDefaultView.Equals(xViewXml.Name)) { m_TableViewFormXml[i].m_DefaultViewXml = xViewXml; } } } } if (sDefaultView.Equals(xViewXml.Name)) { // this.m_DefaultViewXml = xViewXml; } } else { MessageBox.Show(lngRPM.s_Error.s +":"+ lngRPM.s_File.s+ "=" + StaticXml.m_XMLFile + ":" +lngRPM.s_XmlIlegalNode.s+" \"" + node1.Name +"\"." + lngRPM.s_Expected.s +" :\"" + const_CreateViewForm +"," + const_EditTableForm+ lngRPM.s_Or.s + const_DataTableForm +"\" " ,lngRPM.s_Error.s,MessageBoxButtons.OK,MessageBoxIcon.Error); bRes = false; } } }