public bool IsQueryable() { if (!ColumnsInTable.Any()) { return(false); } if (!ColumnsToGroupBy.Any() && !ColumnsToCount.Any() && !ColumnsToSum.Any()) { return(false); } return(true); }
public SLORMContext Sum(string columnName) { var column = ColumnsInTable.GetFromName(columnName); if (column == null || column.DataType != ColumnDataType.Number) { return(this); } var columnAlreadyInList = ColumnsToSum.GetFromName(column.Name) != null; if (columnAlreadyInList) { return(this); } ColumnsToSum.Add(column); return(this); }
public SLORMContext OrderBy(ColumnOrderingRequest orderingRequest) { var column = ColumnsInTable.GetFromName(orderingRequest.ColumnName); if (column == null) { return(this); } var alreadyGroupedByColumn = ColumnsToGroupBy.GetFromName(column.Name) != null || ColumnsToSum.GetFromName(column.Name) != null || ColumnsToCount.GetFromName(column.Name) != null; if (!alreadyGroupedByColumn) { GroupBy(column.Name); } var columnOrdering = new ColumnOrdering(column, orderingRequest); ColumnsToOrderBy.Add(columnOrdering); return(this); }