コード例 #1
0
ファイル: UniqueNames.cs プロジェクト: dstrucl/Tangenta40
 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;
 }
コード例 #2
0
        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;
        }
コード例 #3
0
ファイル: CreateView_Form.cs プロジェクト: dstrucl/Tangenta40
        // 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 = "";
            }
        }
コード例 #4
0
        /// <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();
        }
コード例 #5
0
        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();

            }
        }
コード例 #6
0
        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;
        }
コード例 #7
0
        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);

                }

            }
        }
コード例 #8
0
ファイル: xml.cs プロジェクト: dstrucl/Tangenta40
 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;
 }
コード例 #9
0
ファイル: xml.cs プロジェクト: dstrucl/Tangenta40
 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;
 }
コード例 #10
0
ファイル: xml.cs プロジェクト: dstrucl/Tangenta40
 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);
     }
 }
コード例 #11
0
ファイル: xml.cs プロジェクト: dstrucl/Tangenta40
        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;
                }
            }
        }