private IGenericObject GetGenericObject() { try { var request = JObject.FromObject(new { qProp = new { qInfo = new { qType = "ListObject" }, qListObjectDef = new { qInitialDataFetch = new List <NxPage> { new NxPage() { qTop = 0, qHeight = 0, qLeft = 0, qWidth = 0 } }, qDef = new { qFieldDefs = new List <string> { FilterText }, qFieldLabels = new List <string> { $"Label: {FilterText}" }, qSortCriterias = new List <SortCriteria> { new SortCriteria() { qSortByState = 1 } } }, qShowAlternatives = false, } } }); return(SenseApp.CreateSessionObjectAsync(request).Result); } catch (Exception ex) { throw new Exception("Can´t create a session object", ex); } }
public async Task <SelectionObject> GetCurrentSelectionAsync() { try { var request = JObject.FromObject(new { qProp = new { qInfo = new { qType = "CurrentSelection" }, qSelectionObjectDef = new { } } }); return(await SenseApp.CreateSessionObjectAsync(request) .ContinueWith((res) => { return res.Result.GetLayoutAsync <JObject>(); }) .Unwrap() .ContinueWith <SelectionObject>((res2) => { var ret = res2.Result as dynamic; var jsonObj = ret.qSelectionObject as JObject; var selectionObj = jsonObj.ToObject <SelectionObject>(); return selectionObj; })); } catch (Exception ex) { logger.Error(ex, "The filter selection could not be determined."); return(null); } }