Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pietroleggero/97e839dee78fb5448bc5ce881387ae50 to your computer and use it in GitHub Desktop.
Save pietroleggero/97e839dee78fb5448bc5ce881387ae50 to your computer and use it in GitHub Desktop.
Sample how to create a DialogRequest starting from the Mobile App GetArticleRequest Json
public static string cretaGetArticlesRequest(GetArticlesRequest request)
{
string sessionID = DateTime.Now.ToString("yyyyMMddHHmmssfff");
string kmMs = "MS_CHINESECUSTOMERMICROSITE_1_1";
string sortField = "relevance";
string sortOrder = "0";
string query = request.Query;
string numKCs = request.KmItemForPage.ToString();
string startKC = request.KmStartFromItem.ToString();
string userID = request.UserID;
string kmBrand = request.KmBrand;
string kmModelId = request.KmModelId;
string kmMarket = request.KmMarket;
string kmLanguage = LanguageHandler.GetLanguageCode(request.Lang);
StringBuilder dialogRequest = new StringBuilder();
dialogRequest.Append(string.Format("<DialogRequest AppContext=\"KSS\" DebugLevel=\"0\" Entitlements=\"SAL_Public\" MS=\"{0}\" MaxDocLimit=\"250\" NumKCs=\"{1}\" StartKCNum=\"{2}\" Published=\"-KCP_RWCase,-KCP_Threaded,-KCP_Feedback,KCP_Publish\" RequestType=\"Search\" Segments = \"UMAS_ARCHIVESTATE_ACTIVE_1_1\" SessionID=\"{3}\" SortField=\"{4}\" SortOrder=\"{5}\" UserID=\"{6}\">",
kmMs, numKCs, startKC, sessionID, sortField, sortOrder, userID));
dialogRequest.Append("<Constraints>");
dialogRequest.Append(string.Format("<Or><Under><Node id=\"{0}\"/></Under></Or>", kmLanguage));
dialogRequest.Append("</Constraints>");
if (string.IsNullOrEmpty(query))
dialogRequest.Append("<UserQuery/>");
else
dialogRequest.Append(string.Format("<UserQuery>{0}</UserQuery>", query));
if (!string.IsNullOrEmpty(kmBrand))
dialogRequest.Append(string.Format("<Filter ids = \"{0}\" root = \"UMBN_root\" type = \"Standard\"/>", kmBrand));
if (!string.IsNullOrEmpty(kmModelId))
dialogRequest.Append(string.Format("<Filter ids = \"{0}\" root = \"SG_root\" type = \"Standard\"/>", kmModelId));
if (!string.IsNullOrEmpty(kmMarket))
dialogRequest.Append(string.Format("<Filter ids = \"{0}\" root = \"UMMR_root\" type = \"Standard\"/>", kmMarket));
dialogRequest.Append(string.Format("<ConfirmedNodes><ConfirmedNode><Node NodeID = \"MODE_user_text\"/></ConfirmedNode><ConfirmedNode><Node NodeID = \"{0}\"/></ConfirmedNode></ConfirmedNodes>", kmLanguage));
dialogRequest.Append("</DialogRequest>");
return dialogRequest.ToString();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment