diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index 3ab729bc..ef3a084c 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -292,7 +292,7 @@ namespace AyaNova.Biz var qFrom = "FROM AWIDGET"; - //FILTER AND SORT + //FILTERED? DataFilter TheFilter = null; if (listOptions.DataFilterId > 0) { @@ -306,7 +306,6 @@ namespace AyaNova.Biz qWhere = SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, ObjectFields.ObjectFieldsList(ObjectFields.WIDGET_KEY), UserId); } - //ORDER BY CLAUSE - SORT var qOrderBy = string.Empty; if (listOptions.DataFilterId > 0) @@ -326,10 +325,23 @@ namespace AyaNova.Biz var qLimitOffset = $"LIMIT {listOptions.Limit} OFFSET {listOptions.Offset}"; //PUT IT ALL TOGETHER - var qDataQuery = $"{qSelectColumns} {qFrom} {qWhereAndOrderBy} {qLimitOffset}"; - var qCountQuery = $""; + string qDataQuery = string.Empty; + string qTotalRecordsQuery = string.Empty; + if (TheFilter != null) + { + qDataQuery = $"{qSelectColumns} {qFrom} {qWhere} {qOrderBy} {qLimitOffset}"; + qTotalRecordsQuery = $"{qSelectColumns} {qFrom} {qWhere} {qOrderBy} {qLimitOffset}"; + } + else + { + qDataQuery = $"{qSelectColumns} {qFrom} {qLimitOffset}"; + qTotalRecordsQuery = $"{qSelectColumns} {qFrom} {qLimitOffset}"; + } + + //RETURN OBJECTS List items = new List(); + long totalRecordCount = 0; //RUN THE QUERY using (var command = ct.Database.GetDbConnection().CreateCommand()) @@ -346,9 +358,20 @@ namespace AyaNova.Biz items.Add(row); } } + + command.CommandText = qTotalRecordsQuery; + using (var dr = command.ExecuteReader()) + { + dr.Read(); + // { + // object[] row = new object[dr.FieldCount]; + // dr.GetValues(row); + // items.Add(row); + // } + } } - long totalRecordCount = 10; + /* "SELECT id AS df, name, serial, dollaramount, roles, startdate, active FROM AWIDGET ORDER BY ID DESC LIMIT 2 OFFSET 1"