private string FormMapDB()
        {
            StringBuilder myHTML    = new StringBuilder();
            const string  sqlSelect = "so.id, so.name as dbtable,(select count(syscolumns.id) from syscolumns where syscolumns.id=so.id) as nbfields";

            ds = EvoDB.GetData(EvoDB.BuildSQL(sqlSelect, "sysobjects as so", whereMapDB, "dbtable", 500), _SqlConnection, ref ErrorMsg);
            DataTable t0 = ds.Tables[0];
            int       ml = t0.Rows.Count;

            if (ml > 0)
            {
                myHTML.Append("<p>Please select the database tables to build UI for:</p><p>");
                for (int i = 0; i < ml; i++)
                {
                    DataRow ri  = t0.Rows[i];
                    string  cId = ri["ID"].ToString();
                    myHTML.Append(EvoUI.HTMLInputCheckBox("table2map", cId, String.Format("{0} ({1} columns)", ri["dbtable"], ri["nbfields"]), false, cId));
                    myHTML.Append("</br>");
                }
                myHTML.Append("</p>");
            }
            else
            {
                return(EvoUI.HTMLMessage("No database objects available.", EvoUI.MsgType.Error));
            }
            return(myHTML.ToString());
        }
Ejemplo n.º 2
0
        private string FormBuild_LayoutFields()
        {
            StringBuilder myHTML = new StringBuilder();
            string        buffer, buffer2, buffer3;
            bool          YesNo = false;

            ds = EvoDB.GetData(EvoDB.BuildSQL("ID,label,type,typepix", "EvoDico_xfield", string.Format("formID={0}", AppID), " fpos,id", 0), _SqlConnectionDico, ref ErrorMsg);
            DataTable t0 = ds.Tables[0];
            int       ml = t0.Rows.Count;

            for (int i = 0; i < ml; i++)
            {
                myHTML.Append(EvoUI.HTMLInputHidden(string.Format("f_id{0}", (i + 1)), t0.Rows[i]["id"].ToString()));
            }
            myHTML.Append(HTMLStepTableHeader(5));
            buffer = HTMLlov("EvoDico_panel WHERE formID=" + AppID.ToString(), 0, xAttribute.label);
            for (int i = 0; i < ml; i++)
            {
                buffer3 = ClassEvenOrOdd(YesNo);
                myHTML.Append("<tr").Append(buffer3).Append(" valign=\"top\"><td>");
                buffer2 = (i + 1).ToString();
                myHTML.Append(EvoUI.HTMLIcon(_PathPix, t0.Rows[i]["typepix"].ToString(), t0.Rows[i]["type"].ToString()));
                myHTML.Append(t0.Rows[i][xAttribute.label]).Append("</td>");
                myHTML.Append("<td><input type=\"text\" name=\"f_w").Append(buffer2).Append("\" value=\"100\" ").Append(buffer3).Append("></td><td>");
                if (!string.IsNullOrEmpty(buffer))
                {
                    myHTML.Append("<select name=\"f_ft").Append(buffer2).Append("\" ").Append(buffer3).Append(" style=\"width:100%\">");
                    myHTML.Append(buffer).Append("</select>");
                }
                else
                {
                    myHTML.Append(lang_NA);
                }
                myHTML.Append(tag_cTDcTR);
                YesNo = !YesNo;
            }
            myHTML.Append("</table></span>");
            return(myHTML.ToString());
        }
Ejemplo n.º 3
0
        private string FormBuild_Searches()
        {
            StringBuilder myHTML = new StringBuilder();
            string        buffer, buffer2, buffer3;

            ds = EvoDB.GetData(EvoDB.BuildSQL("ID,label,typeid,typepix,type,search,searchadv,searchlist", "EvoDico_xField", "formID=" + AppID, "fpos,id", 0), _SqlConnectionDico, ref ErrorMsg);
            DataTable t0    = ds.Tables[0];
            int       NbRow = t0.Rows.Count;

            for (int i = 0; i < NbRow; i++)
            {
                myHTML.Append(EvoUI.HTMLInputHidden("f_id" + (i + 1).ToString(), t0.Rows[i]["ID"].ToString()));
            }
            myHTML.Append(HTMLStepTableHeader(3));
            bool YesNo = false;

            for (int i = 0; i < NbRow; i++)
            {
                DataRow ri = t0.Rows[i];
                buffer3 = ClassEvenOrOdd(YesNo);
                myHTML.Append("<tr").Append(buffer3).Append(" valign=\"top\"><td>");
                myHTML.Append(EvoUI.HTMLIcon(_PathPix, t0.Rows[i]["typepix"].ToString(), t0.Rows[i]["type"].ToString()));
                myHTML.Append(ri[xAttribute.label]);
                buffer2 = (i + 1).ToString();
                buffer  = CheckedOrNot((bool)ri["search"]);
                myHTML.Append("</td><td><input type=\"checkbox\" name=\"f_s").Append(buffer2).Append("\" ").Append(buffer).Append(" value=\"1\"></td>\n");
                buffer = CheckedOrNot((bool)ri["searchadv"]);
                myHTML.Append("<td><input type=\"checkbox\" name=\"f_sa").Append(buffer2).Append("\" ").Append(buffer).Append(" value=\"1\"></td>\n");
                buffer = CheckedOrNot((bool)ri["searchlist"]);
                myHTML.Append("<td><input type=\"checkbox\" name=\"f_sr").Append(buffer2).Append("\" ").Append(buffer).Append(" value=\"1\"></td>\n");
                myHTML.Append("</tr>\n");
                YesNo = !YesNo;
            }
            myHTML.Append("</table></span>");
            return(myHTML.ToString());
        }
Ejemplo n.º 4
0
        private string InstallApp(string XMLDefFile)
        {
            StringBuilder myHTML = new StringBuilder();
            bool          xmlOK = true;
            string        sql, dbr = null, errorMsg = null;
            string        checkMark = EvoUI.HTMLImgCheckMark(IEbrowser, _PathPix);

            myHTML.AppendFormat("<h2>{0}</h2>", XMLDefFile.Replace("_", ""));
            if (!string.IsNullOrEmpty(XMLDefFile))
            {
                XmlDocument myDOM2 = new XmlDocument();
                try
                {
                    myDOM2.Load(FileNameWithMask(_PathXML + string.Format("Setup\\{0}.xml", XMLDefFile)));
                }
                catch                 //(Exception ex)
                {
                    errorMsg = "XML not found or invalid";
                    xmlOK    = false;
                }
                if (xmlOK)
                {
                    string  t     = "";
                    XmlNode aNode = myDOM2.DocumentElement;
                    if (aNode.Name == "applicationcomponent")
                    {
                        sql = aNode["xml"].InnerText;
                        if (sql.StartsWith("<?xml"))
                        {
                            sql = xQuery.XMLHeader + sql;
                        }
                        aNode = aNode["sql"];
                        if (aNode.Attributes[xAttribute.dbTable] != null)
                        {
                            t = aNode.Attributes[xAttribute.dbTable].Value;
                            myHTML.AppendFormat("<p>DB Table: {0}</p>", t);
                        }
                        dicoXML2DB(sql, _SqlConnectionDico);
                        myHTML.Append("<div class=\"indent1\">");
                        if (string.IsNullOrEmpty(errorMsg))
                        {
                            myHTML.Append(checkMark).Append("Metadata<br>");
                        }
                        if (aNode.Attributes[xAttribute.dbTable] != null)
                        {
                            string tc = EvoDB.GetDataScalar(EvoDB.BuildSQL("count(*)", t), _SqlConnection, ref ErrorMsg);
                            if (EvoTC.isInteger(tc))
                            {
                                errorMsg = "Database table not created because it already exists.";
                            }
                            else
                            {
                                sql = aNode["create"].InnerText;
                                dbr = EvoDB.RunSQL(sql, _SqlConnection, false);
                                if (string.IsNullOrEmpty(dbr))
                                {
                                    myHTML.Append(checkMark).Append("Database structure<br>");
                                }
                                else
                                {
                                    errorMsg = dbr;
                                }
                            }
                            if (string.IsNullOrEmpty(dbr))
                            {
                                int i = EvoTC.String2Int(tc);
                                if (i == 0)
                                {
                                    sql = aNode["seed"].InnerText;
                                    dbr = EvoDB.RunSQL(sql, _SqlConnection, false);
                                    if (string.IsNullOrEmpty(dbr))
                                    {
                                        myHTML.Append(checkMark).Append("Seed data<br>");
                                        sql = aNode["sample"].InnerText;
                                        dbr = EvoDB.RunSQL(sql, _SqlConnection, false);
                                        if (string.IsNullOrEmpty(dbr))
                                        {
                                            myHTML.Append(checkMark).Append("Sample data<br>");
                                        }
                                        else
                                        {
                                            errorMsg = dbr;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                errorMsg = dbr;
                            }
                        }
                        myHTML.Append("</div>");
                    }
                }
                if (!string.IsNullOrEmpty(errorMsg))
                {
                    myHTML.Append(EvoUI.HTMLMessage(errorMsg, EvoUI.MsgType.Error));
                }
            }
            myHTML.Append(HTMLToolsLink(FormID.ToString(), "")).Append("</p>");
            return(myHTML.ToString());
        }
Ejemplo n.º 5
0
        private string FormBuild_DataDefDetails()
        {
            StringBuilder myHTML = new StringBuilder();

            string buffer2, buffer3;
            bool   YesNo = false;


            ds = EvoDB.GetData(EvoDB.BuildSQL("ID,label,typeid,typepix,type", "EvoDico_xfield", "formID=" + AppID, "ID", 0), _SqlConnectionDico, ref ErrorMsg);
            if (ds != null)
            {
                // ORDER BY positionlist
                DataTable t0 = ds.Tables[0];
                {
                    for (int i = 0; i < t0.Rows.Count; i++)
                    {
                        myHTML.Append(EvoUI.HTMLInputHidden("f_id" + (i + 1).ToString(), t0.Rows[i]["ID"].ToString()));
                    }
                    myHTML.Append(HTMLStepTableHeader(2));
                    for (int i = 0; i < t0.Rows.Count; i++)
                    {
                        buffer3 = ClassEvenOrOdd(YesNo);
                        myHTML.Append(EvoUI.TRcssEvenOrOdd(YesNo));
                        myHTML.Append("<tr").Append(buffer3).Append(" valign=\"top\"><td>");
                        myHTML.Append(EvoUI.HTMLIcon(_PathPix, t0.Rows[i]["typepix"].ToString(), t0.Rows[i]["type"].ToString()));
                        if (t0.Rows[i][xAttribute.label] != null)
                        {
                            myHTML.Append(t0.Rows[i][xAttribute.label].ToString());
                        }
                        myHTML.Append("</td><td>");
                        buffer2 = (i + 1).ToString();
                        int fieldTypeID = Convert.ToInt32(t0.Rows[i]["typeid"]);
                        switch (fieldTypeID)
                        {
                        case 5:                                 //txt
                            myHTML.Append("Max.Length ");
                            myHTML.Append(EvoUI.HTMLInputText("F_len" + buffer2, "100", 3));
                            break;

                        case 6:                                 //txt multiline
                        case 8:                                 //html
                            myHTML.Append("Max.Length ");
                            myHTML.Append(EvoUI.HTMLInputText("F_len" + buffer2, "100", 5));
                            myHTML.Append("Height ");
                            myHTML.Append(EvoUI.HTMLInputText("f_h" + buffer2, "3", 2));
                            break;

                        case 4:                                 //lov
                            myHTML.Append("List of Values (comma separated) <textarea style=\"width:100%;\" class=\"Field\" rows=\"3\" cols=\"52\" name=\"f_op").Append(buffer2);
                            myHTML.Append("\" onKeyUp=\"EvoVal.checkMaxLen(this,1000)\"></textarea>");
                            break;

                        case 2:                                 //date
                        case 17:                                //date-time
                        case 18:                                //time
                            myHTML.Append("Format <select ").Append(buffer3).Append(" name=\"f_ft").Append(buffer2).Append("\">");
                            myHTML.Append(HTMLOptionsDateFormats(fieldTypeID));
                            myHTML.Append("</select>");
                            break;

                        case 9:                                 //decimal
                        case 10:                                //integer
                            myHTML.Append("Format <input class=\"Field\" ").Append(buffer3).Append(" name=\"f_ft").Append(buffer2).Append("\" value=\"\" maxlength=\"12\">");
                            break;

                        case 1:                                 //boolean
                            myHTML.Append("Picture <select ").Append(buffer3).Append(" name=\"f_ft").Append(buffer2).Append("\">");
                            myHTML.Append("<option value=\"\" selected>- Default -");
                            myHTML.Append(EvoUI.HTMLOption("checkr.gif", "Red checkmark"));
                            myHTML.Append(EvoUI.HTMLOption("checkg.gif", "Green checkmark"));
                            myHTML.Append(EvoUI.HTMLOption(EvoUI.PixCheck, "Black checkmark"));
                            myHTML.Append("</select>");
                            break;

                        default:
                            myHTML.Append(lang_NA);
                            break;
                        }
                        if (fieldTypeID == 1)
                        {
                            // booleans cannot be required
                            myHTML.Append("<td></td></tr>");
                        }
                        else
                        {
                            myHTML.Append("<td><input type=\"checkbox\" name=\"f_rq").Append(buffer2);
                            if (i < 4)
                            {
                                myHTML.Append(EvoUI.qChecked);
                            }
                            myHTML.Append("\" value=\"1\"></td></tr>");
                        }
                        YesNo = !YesNo;
                    }
                    myHTML.Append("</table></span>");
                }
            }
            else
            {
                myHTML.Append(EvoUI.HTMLMessage("There was an error.", EvoUI.MsgType.Info));
            }
            return(myHTML.ToString());
        }