void XaLanguage::List() { vector<string> WhereFields={}; vector<string> WhereValues={}; vector<string> OrderByFields={}; vector<string> GroupByFields={}; string PassedLimit=HTTP.GetHttpParam("limit"); int Limit={0}; if (PassedLimit!="NoHttpParam") { Limit=FromStringToInt(PassedLimit); }; string OrderBy=HTTP.GetHttpParam("order_by"); string Status=HTTP.GetHttpParam("status"); vector<string> ReturnedFields=ListPrepare({"XaLanguage"},"/XaLanguage/fieldset/field"); DbResMap DbRes=XaLibSql::Select(DB_READ,"XaLanguage",{ReturnedFields},{WhereFields}, {WhereValues}, {OrderByFields},{GroupByFields},Limit); RESPONSE.Content=ListResponse(DbRes,ReturnedFields); //Quali campi // /* vector<string> FieldsToRead = XaLibModel::ReadPrepare({"XaLanguage"},"/XaLanguage/fieldset/field"); DbResMap DbRes = ReadExecute("XaLanguage",FieldsToRead,HTTP.GetHttpParam("id")); RESPONSE.Content= ReadResponse(DbRes,FieldsToRead); */ };
void XaMedia::List(){ string XaDomainMediaCategory_ID=HTTP.GetHttpParam("XaDomainMediaCategory_ID"); string XaField_ID=HTTP.GetHttpParam("XaField_ID"); string XaTable=HTTP.GetHttpParam("XaTable"); string XPathExpr="/XaMedia/fieldset/field"; vector<string> XmlFiles = {"XaMedia"}; //LOAD XML FOR MODEL xmlDocPtr XmlDomDoc=XaLibDom::DomFromFile(AddXmlFile(XmlFiles),0); //GET NUMBER OF FILEDS int FieldsNum=XaLibDom::GetNumRowByXPathInt(XmlDomDoc,XPathExpr); string QryFields="SELECT R.id"; string QryJoin=""; for (auto i=0;i<FieldsNum;i++) { string j=to_string(i+1); if (XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/list")=="yes") { if (XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/type")=="select-single-domain") { string FieldName=XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/name"); QryFields+=",X"+j+".name AS "+FieldName; QryJoin+=" LEFT JOIN XaDomain X"+j+" ON X"+j+".id=R."+FieldName; } else if (XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/type")=="input-text"){ QryFields+=",R."+XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/name"); } else if (XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/type")=="input-number"){ QryFields+=",R."+XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/name"); } else if (XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/type")=="select-boolean"){ QryFields+=",R."+XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/name"); } else if (XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/type")=="external-key"){ QryFields+=",R."+XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+j+"]/name"); } LOG.Write("INF", __FILE__, __FUNCTION__,__LINE__,"Field to retrieve for the list ->"+XaLibDom::GetElementValueByXPath(XmlDomDoc,XPathExpr+"["+ to_string(i+1) + "]/name")); }; }; QryFields+=" FROM XaMedia R"; LOG.Write("INF", __FILE__, __FUNCTION__,__LINE__,"Query Fields ->"+QryFields); LOG.Write("INF", __FILE__, __FUNCTION__,__LINE__,"Query Join ->"+QryJoin); string Qry=QryFields+QryJoin; Qry+=" WHERE R.status=1 AND R.XaField_ID="+XaField_ID+" AND R.XaTable='"+XaTable+"' AND R.XaDomainMediaCategory_ID="+XaDomainMediaCategory_ID; LOG.Write("INF", __FILE__, __FUNCTION__,__LINE__,"Query ->"+Qry); DbResMap DbRes=XaLibSql::FreeQuerySelect(DB_READ,Qry); vector<string> ListFields=ListPrepare({"XaMedia"},"/XaMedia/fieldset/field",0); RESPONSE.Content=ListResponse(DbRes,ListFields); };
void XaUserAddressPhone::ReadForUpdateFrm() { string Id=HTTP.GetHttpParam("id"); vector<string> ReturnedFields= {"id","name","description"}; DbResMap DbRes=XaLibSql::Select(DB_READ,"XaUserAddressPhone", {ReturnedFields}, {"id"}, {Id}); RESPONSE.Content=ListResponse(DbRes,ReturnedFields); };
void XaMedia::ListComplete(){ string XaDomainMediaCategory_ID=HTTP.GetHttpParam("XaDomainMediaCategory_ID"); string XaField_ID=HTTP.GetHttpParam("XaField_ID"); string XaTable=HTTP.GetHttpParam("XaTable"); // inserire la condizione su marked=1 per area non logati (XaUser_ID non valorizzato) string Qry="SELECT M.id,M.XaField_ID,M.preferred,M.position,CONCAT('data:',D.type,';base64,',D.thumbnail) thumbnail,D.type " "FROM XaMedia M LEFT JOIN XaMediaData D ON D.XaMedia_ID=M.id WHERE M.status=1 AND M.XaField_ID="+XaField_ID+" AND M.XaTable='"+XaTable+"' AND M.XaDomainMediaCategory_ID="+XaDomainMediaCategory_ID; LOG.Write("INF", __FILE__, __FUNCTION__,__LINE__,"Query ->"+Qry); DbResMap DbRes=XaLibSql::FreeQuerySelect(DB_READ,Qry); vector<string> ListFields=ListPrepare({"XaMediaComplete"},"/XaMediaComplete/fieldset/field",0); RESPONSE.Content=ListResponse(DbRes,ListFields); };
void XaUserAddressPhone::ListByUser() { string XaUser_ID=HTTP.GetHttpParam("XaUser_ID"); vector<string> WhereFields={"XaUser_ID","status"}; vector<string> WhereValues={XaUser_ID,"1"}; vector<string> OrderByFields={}; vector<string> GroupByFields={}; int Limit={0}; string OrderBy=HTTP.GetHttpParam("order_by"); vector<string> ReturnedFields=ListPrepare({"XaUserAddressPhone"},"/XaUserAddressPhone/fieldset/field"); DbResMap DbRes=XaLibSql::Select(DB_READ,"XaUserAddressPhone",{ReturnedFields},{WhereFields}, {WhereValues}, {OrderByFields},{GroupByFields},Limit); RESPONSE.Content=ListResponse(DbRes,ReturnedFields); };
void XaUser::List (){ vector<string> ReturnedFields={"id","name","surname","XaUserType_ID"}; string Qry="SELECT X.id, X.name, X.surname, XaUserType.name AS XaUserType_ID FROM XaUser X"; Qry+=" LEFT JOIN XaUserType ON X.XaUserType_ID=XaUserType.id"; Qry+=" WHERE X.status=1"; string OrderBy=HTTP.GetHttpParam("order_by"); if (OrderBy!="NoHttpParam") { Qry+=" order by "+OrderBy; } DbResMap DbRes=XaLibSql::FreeQuerySelect(DB_SESSION,Qry); RESPONSE.Content=ListResponse(DbRes,ReturnedFields); };
void XaUserAddressPhone::List() { vector<string> WhereFields={}; vector<string> WhereValues={}; vector<string> OrderByFields={}; vector<string> GroupByFields={}; string PassedLimit=HTTP.GetHttpParam("limit"); int Limit={0}; if (PassedLimit!="NoHttpParam") { Limit=FromStringToInt(PassedLimit); }; string OrderBy=HTTP.GetHttpParam("order_by"); string Status=HTTP.GetHttpParam("status"); vector<string> ReturnedFields=ListPrepare({"XaUserAddressPhone"},"/XaUserAddressPhone/fieldset/field"); DbResMap DbRes=XaLibSql::Select(DB_READ,"XaUserAddressPhone",{ReturnedFields},{WhereFields}, {WhereValues}, {OrderByFields},{GroupByFields},Limit); RESPONSE.Content=ListResponse(DbRes,ReturnedFields); };
void XaLanguage::ListAsOptions() { vector<string> WhereFields={}; vector<string> WhereValues={}; vector<string> OrderByFields={}; vector<string> GroupByFields={}; /*LIMIT*/ string PassedLimit=HTTP.GetHttpParam("limit"); int Limit={0}; if (PassedLimit!="NoHttpParam") { Limit=FromStringToInt(PassedLimit); }; /*ORDER BY*/ string PassedOrderBy=HTTP.GetHttpParam("order_by"); if (PassedOrderBy!="NoHttpParam") { OrderByFields.push_back(PassedOrderBy); }; /*STATUS*/ string PassedStatus=HTTP.GetHttpParam("status"); if (PassedStatus!="NoHttpParam") { WhereFields.push_back("status"); WhereValues.push_back(PassedStatus); }; vector<string> ReturnedFields={"id","name"}; DbResMap DbRes=XaLibSql::Select(DB_READ,"XaLanguage",{ReturnedFields},{WhereFields}, {WhereValues}, {OrderByFields},{GroupByFields},Limit); RESPONSE.Content=ListResponse(DbRes,ReturnedFields); };