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()); }
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()); }
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()); }
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()); }
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()); }