internal static void SetSearchOrder(StuGLSearch stuGLSearch, string action, string requestId, string FileName, string LocalIP, string LocalBrowserType) { if (FileName == null) { throw new ArgumentNullException(nameof(FileName)); } if (!string.IsNullOrEmpty(action) && !string.IsNullOrEmpty(requestId) && !string.IsNullOrEmpty(FileName)) { string keySearchOrder = string.Format(InvariantCulture, "{0}#{1}#dtSearchOrder", LocalIP, LocalBrowserType); if (!ServerOption.ContainsKey(keySearchOrder)) { ServerOption.Add(keySearchOrder, CreatSearchOrderDT()); } using (DataTable DtSearchOrder = (DataTable)ServerOption[keySearchOrder]) { if (DtSearchOrder.Rows.Count == 0 || DtSearchOrder.Rows.Count > 0 && DtSearchOrder.Rows.Find(action + requestId) == null) { DataRow drRow = DtSearchOrder.NewRow(); drRow["ActionID"] = action + requestId; drRow["Action"] = action; drRow["requestId"] = requestId; drRow["urlFileName"] = FileName; drRow["strFilterRange"] = stuGLSearch.StrFilterRange; drRow["sglFilterMin"] = stuGLSearch.SglFilterMin; drRow["sglFilterMax"] = stuGLSearch.SglFilterMax; ((DataTable)ServerOption[keySearchOrder]).Rows.Add(drRow); //stuGLSearch.SearchOrder = false; if (!dicSearchOrder.ContainsKey(action + requestId)) { dicSearchOrder.Add(action + requestId, stuGLSearch); } else { dicSearchOrder[action + requestId] = stuGLSearch; } } } } }