08-30-2023 07:46 PM
This is our code to avoid a direct Db call to the database. We created a view with this SQl and then made a workview class which returns all the cqnum, display columns.
SELECT ROW_NUMBER() OVER(ORDER BY cqnum ASC) AS UniqueId, cqnum, keytype as 'SelectedColumn', c.keyvaluechar as 'Tile' from [hsi].[cqquerytokens] c
left join hsi.[keyTypetable] keytype
on TRY_CAST( c.idchar1 as bigint) = keytype.keytypenum where keyvaluechar <> '' and tokenflags!=0 and idchar1 <> ''
Can you recommend a better performance effective way to do this?
Hyland.Unity.WorkView.Class wvClass = wvApp.Classes.Find("CustomQueryDisplayColumns");
var filter1 = wvClass.CreateDynamicFilterQuery();
DynamicFilterQuery configQuery = wvClass.CreateDynamicFilterQuery();
configQuery.AddConstraint("cqnum", Operator.GreaterThan,0);
long queryCount = configQuery.ExecuteCount();
FilterQueryResultItemList results = configQuery.Execute(queryCount);
var list = new List<customquery>();
foreach (FilterQueryResultItem result in results)
{
var AttributeValues= wvClass.GetObjectByID(result.ObjectID).AttributeValues.ToList();
var c = new customquery();
c.ID = AttributeValues[0].IntegerValue;
c.DisplayColumns = AttributeValues[1].AlphanumericValue;
list.Add(c);
}
public class customquery
{
public long ID { get; set; }
public string DisplayColumns { get; set; }
}
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.