#pragma once #include #include #include #include #include #include #include #include class ViewObject { public: static int alert(HWND hWnd,string error) { return MessageBoxW(hWnd, error, L"Ìáʾ", 0); } static int alert(string error) { return alert(nullptr, error); } static int trace(string error) { return 1; } static xaserverarg MakeArg(string argName, string argValue) { xaserverarg arg; arg.AddArg(argName, argValue); return arg; } static xaserverarg MakeArg(string argName, string argValue, string argName1, string argValue1) { xaserverarg arg; arg.AddArg(argName, argValue); arg.AddArg(argName1, argValue1); return arg; } static string GetGuid() { return publiccode::GetGuid(); } //»ñÈ¡ÐÐÔªËØµÄÖµ static xstring GetElementString(KXMLDOMElement e, xstring name) { if (name == L"") return L""; if (e.selectSingleNode(name)) return e.selectSingleNode(name).text(); else return L""; } static string GetElementString(KXMLDOMElement e, xstring name, bool isdisplay) { if (isdisplay) name += L"/@_displaystring"; return GetElementString(e, name); } static KXMLDOMDocument RetrieveData(string queryUrl) { return RetrieveData(xapp::GetServerUrl(), queryUrl); } static KXMLDOMDocument RetrieveData(string serverUrl,string queryUrl) { KXMLDOMDocument x; if (xurl::get(serverUrl,queryUrl, L"", x) != 1) { string error = x.text(); trace(error); return 0; } return x; } static KXMLDOMDocument RetrieveData( string queryUrl, string argName, string argValue) { return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue); } static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue) { KXMLDOMDocument x; xaserverarg arg; arg.AddArg(argName, argValue); if (xurl::get(serverUrl,queryUrl, arg.GetString(), x) != 1) { string error = x.text(); trace(error); return 0; } return x; } static KXMLDOMDocument RetrieveData(string queryUrl, string argName, string argValue, string argName1, string argValue1) { return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue, argName1, argValue1); } static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue, string argName1, string argValue1) { KXMLDOMDocument x; xaserverarg arg; arg.AddArg(argName, argValue); arg.AddArg(argName1, argValue1); if (xurl::get(serverUrl, queryUrl, arg.GetString(), x) != 1) { string error = x.text(); trace(error); return 0; } return x; } static KXMLDOMDocument RetrieveData(string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2) { return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue, argName1, argValue1, argName2, argValue2); } static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2) { KXMLDOMDocument x; xaserverarg arg; arg.AddArg(argName, argValue); arg.AddArg(argName1, argValue1); arg.AddArg(argName2, argValue2); if (xurl::get(serverUrl, queryUrl, arg.GetString(), x) != 1) { string error = x.text(); trace(error); return 0; } return x; } static KXMLDOMDocument RetrieveData(string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2, string argName3, string argValue3) { return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue, argName1, argValue1, argName2, argValue3, argName2, argValue3); } static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2, string argName3, string argValue3) { KXMLDOMDocument x; xaserverarg arg; arg.AddArg(argName, argValue); arg.AddArg(argName1, argValue1); arg.AddArg(argName2, argValue2); arg.AddArg(argName3, argValue3); if (xurl::get(serverUrl, queryUrl, arg.GetString(), x) != 1) { string error = x.text(); trace(error); return 0; } return x; } static KXMLDOMDocument FecthData(string pUrl, string argStr) { KXMLDOMDocument x; if (xurl::get(xapp::GetApp()->GetServerUrl(), pUrl, argStr, x) != 1) { xstring error = x.text(); trace(L"\r\nError fetch data:" + error + L"\r\nurl:=" + pUrl); } return x; } static KXMLDOMDocument FecthData(string serverUrl,string pUrl, string argStr) { KXMLDOMDocument x; if (xurl::get(serverUrl,pUrl, argStr, x) != 1) { xstring error = x.text(); trace(L"\r\nError fetch data:" + error + L"\r\nurl:=" + pUrl); } return x; } static xstring AskNo(string serverUrl,string typ) { KXMLDOMDocument x; xaserverarg arg = MakeArg(L"type", typ); if (xurl::get(serverUrl,L"/sale/data/Util/askno", arg.GetString(), x) != 1) { string error = x.text(); alert(error); return L""; } string no = x.text(); return no; } static int TransData(string serverUrl,KXMLDOMNodeList nlist, xdwtable dwobj, int row, string column, string data) { int len = nlist.length(); for (int i = 0; i < len; i++) { KXMLDOMElement e = nlist.item(i); string dataurl = e.getAttribute(L"dataurl"); xstring columns = e.getAttribute(L"columns"); string arg = e.getAttribute(L"arg"); KXMLDOMDocument x = RetrieveData(serverUrl,dataurl, arg, data); if (!x) continue; xstring it; while (columns != L"") { if (columns.find(L",") > 0) { it = columns.left(columns.find(L",")); columns = columns.mid(columns.find(L",") + 1, 9999); } else { it = columns; columns = L""; } KXMLDOMNode n = x.selectSingleNode(L"//" + it); if (n) { dwobj.SetItemString(row, it.c_str(), xstring(n.text()).trim()); } n = x.selectSingleNode(L"//" + it + L"/@_displaystring"); if (n) { dwobj.SetItemDisplayString(row, it.c_str(), xstring(n.text()).trim()); } } } dwobj.Redraw(); return 1; } static int TransData(string serverUrl, KXMLDOMNodeList nlist, xdwgrid dwobj, int row, string column, string data) { int len = nlist.length(); for (int i = 0; i < len; i++) { KXMLDOMElement e = nlist.item(i); string dataurl = e.getAttribute(L"dataurl"); xstring columns = e.getAttribute(L"columns"); string arg = e.getAttribute(L"arg"); KXMLDOMDocument x = RetrieveData(serverUrl, dataurl, arg, data); if (!x) continue; xstring it; while (columns != L"") { if (columns.find(L",") > 0) { it = columns.left(columns.find(L",")); columns = columns.mid(columns.find(L",") + 1, 9999); } else { it = columns; columns = L""; } KXMLDOMNode n = x.selectSingleNode(L"//" + it); if (n) { dwobj.SetItemString(row, it.c_str(), xstring(n.text()).trim()); } n = x.selectSingleNode(L"//" + it + L"/@_displaystring"); if (n) { dwobj.SetItemDisplayString(row, it.c_str(), xstring(n.text()).trim()); } } } dwobj.Redraw(); } int AddMessage(string serverUrl, string Category, string Reciever, string EntityNo, string EntityID, string Subject, string Content) { KXMLDOMDocument x; xaserverarg arg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg(L"EntityNo", EntityNo); arg.AddArg(L"EntityID", EntityID); arg.AddArg(L"Subject", Subject); arg.AddArg(L"Category", Category); arg.AddArg(L"Reciever", Reciever); arg.AddArg(L"Content", Content); if (xurl::get(serverUrl,L"/sale/data/business/message/add", arg.GetString(), x) != 1) { string error = x.text(); trace(error); return 0; } return 1; } };