private EnumerableRowCollection <DataRow> Get( Context context, SiteSettings ss, SqlColumnCollection column = null, SqlJoinCollection join = null, SqlWhereCollection where = null, SqlOrderByCollection orderBy = null, SqlParamCollection param = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, bool distinct = false, int top = 0, int offset = 0, int pageSize = 0) { var statements = new List <SqlStatement> { Rds.SelectIssues( dataTableName: "Main", column: column ?? Rds.IssuesDefaultColumns(), join: join ?? Rds.IssuesJoinDefault(), where : where, orderBy: orderBy, param: param, tableType: tableType, distinct: distinct, top: top, offset: offset, pageSize: pageSize), Rds.SelectCount( tableName: "Issues", tableType: tableType, join: join ?? Rds.IssuesJoinDefault(), where : where) }; var dataSet = Rds.ExecuteDataSet( context: context, transactional: false, statements: statements.ToArray()); TotalCount = Rds.Count(dataSet); return(dataSet.Tables["Main"].AsEnumerable()); }
/// <summary> /// Fixed: /// </summary> public static string SearchJson(Context context) { var offset = context.QueryStrings.Int("offset"); var searchText = context.QueryStrings.Data("text"); var dataSet = Get( context: context, searchText: searchText, dataTableName: "SearchResults", offset: offset, pageSize: Parameters.Search.PageSize); var dataRows = dataSet?.Tables["SearchResults"].AsEnumerable(); var res = new ResponseCollection(); return(offset == 0 ? res .ReplaceAll( "#MainContainer", MainContainer( context: context, text: searchText, offset: 0, results: dataRows, count: Rds.Count(dataSet))) .Focus("#Search") .ToJson() : res .Append( "#SearchResults", new HtmlBuilder().Results( context: context, text: searchText, offset: offset, dataRows: dataRows)) .Val( "#SearchOffset", (dataRows != null && dataRows.Any() && dataRows.Count() == Parameters.Search.PageSize ? offset + Parameters.Search.PageSize : -1).ToString()) .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string Search(Context context) { if (Parameters.Search.DisableCrossSearch) { return(HtmlTemplates.Error( context: context, errorData: new ErrorData(type: Error.Types.InvalidRequest))); } var dataSet = Get( context: context, searchText: context.QueryStrings.Data("text"), dataTableName: "SearchResults", offset: context.QueryStrings.Int("offset"), pageSize: Parameters.Search.PageSize); return(MainContainer( context: context, text: context.QueryStrings.Data("text"), offset: 0, results: dataSet?.Tables["SearchResults"].AsEnumerable(), count: Rds.Count(dataSet)).ToString()); }
private IEnumerable <DataRow> Get( IContext context, SqlColumnCollection column = null, SqlJoinCollection join = null, SqlWhereCollection where = null, SqlOrderByCollection orderBy = null, SqlParamCollection param = null, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, bool distinct = false, int top = 0, int offset = 0, int pageSize = 0, bool history = false, bool countRecord = false) { var statements = new List <SqlStatement> { Rds.SelectOutgoingMails( dataTableName: "Main", column: column ?? Rds.OutgoingMailsDefaultColumns(), join: join ?? Rds.OutgoingMailsJoinDefault(), where : where, orderBy: orderBy, param: param, tableType: tableType, distinct: distinct, top: top, offset: offset, pageSize: pageSize, countRecord: countRecord) }; var dataSet = Rds.ExecuteDataSet( context: context, transactional: false, statements: statements.ToArray()); TotalCount = Rds.Count(dataSet); return(dataSet.Tables["Main"].AsEnumerable()); }
/// <summary> /// Fixed: /// </summary> public static string SearchJson() { var offset = QueryStrings.Int("offset"); var text = QueryStrings.Data("text"); var dataSet = Get( searchIndexes: text.SearchIndexes(), offset: offset, pageSize: Parameters.General.SearchPageSize); var results = dataSet?.Tables["Main"].AsEnumerable(); var res = new ResponseCollection(); if (offset == 0) { res .ReplaceAll( "#MainContainer", MainContainer( text: text, offset: 0, results: results, count: Rds.Count(dataSet))) .Focus("#Search"); } else { res .Append( "#SearchResults", new HtmlBuilder().Results(text: text, offset: offset, results: results)) .Val( "#SearchOffset", (results != null && results.Any() && results.Count() == Parameters.General.SearchPageSize ? offset + Parameters.General.SearchPageSize : -1).ToString()); } return(res.ToJson()); }
private void Get( Context context, SiteSettings ss, View view, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlColumnCollection column = null, SqlJoinCollection join = null, SqlWhereCollection where = null, int top = 0, int offset = 0, int pageSize = 0, bool count = true) { column = column ?? ColumnUtilities.SqlColumnCollection( context: context, ss: ss, view: view, columns: ss.GetGridColumns( context: context, view: view, includedColumns: true)); where = view.Where( context: context, ss: ss, where : where); var orderBy = view.OrderBy( context: context, ss: ss); join = join ?? ss.Join( context: context, join: new IJoin[] { column, where, orderBy }); var param = view.Param( context: context, ss: ss); var statements = new List <SqlStatement>(); statements.Add(Rds.Select( tableName: ss.ReferenceType, tableType: tableType, dataTableName: "Main", column: column, join: join, where : where, orderBy: orderBy, param: param, top: top, offset: offset, pageSize: pageSize)); if (count) { statements.Add(Rds.SelectCount( tableName: ss.ReferenceType, tableType: tableType, join: join, where : where)); } DataSet dataSet; try { dataSet = Repository.ExecuteDataSet( context: context, transactional: false, statements: statements.ToArray()); } catch (System.Exception e) { Views.SetSession( context: context, ss: ss, view: new View(), setSession: true, key: "View", useUsersView: ss.SaveViewType == SiteSettings.SaveViewTypes.User); throw e; } DataRows = dataSet.Tables["Main"].AsEnumerable(); TotalCount = Rds.Count(dataSet); ss.SetChoiceHash( context: context, dataRows: DataRows); }
private EnumerableRowCollection <DataRow> Items( Context context, SiteSettings ss, string searchText, IEnumerable <string> selectedValues, Column column, Column parentColumn, List <long> parentIds, int offset, bool setAllChoices) { var tableName = $"{ss.ReferenceType}_Items"; var view = GetView( context: context, ss: ss); view.Search = searchText; var sqlColumn = SetSqlColum( context: context, ss: ss, keyColumnName: Rds.IdColumn(tableName: ss.ReferenceType), textColumnName: "Title"); var where = view.Where( context: context, ss: ss, where : Rds.ItemsWhere() .ReferenceId_In( tableName: tableName, value: selectedValues?.Select(o => o.ToLong()), _using: selectedValues?.Any() == true) .ReferenceId_In( tableName: tableName, sub: new SqlStatement(ss.LinkHashRelatingColumnsSubQuery( context: context, referenceType: ss.ReferenceType, parentColumn: parentColumn, parentIds: parentIds)), _using: (ss.ReferenceType == "Results" || ss.ReferenceType == "Issues") && (parentIds?.Any() ?? false) && parentColumn != null)); var orderBy = view.OrderBy( context: context, ss: ss, orderBy: view.ColumnSorterHash?.Any() != true ? new Rds.ItemsOrderByCollection().Title(tableName: tableName) : null); var join = ss.Join( context: context, join: new IJoin[] { sqlColumn, where, orderBy }); var dataSet = Rds.ExecuteDataSet( context: context, statements: new SqlStatement[] { Rds.Select( tableName: ss.ReferenceType, dataTableName: "Main", column: sqlColumn, join: join, where : where, orderBy: orderBy, offset: offset, pageSize: !setAllChoices ? Parameters.General.DropDownSearchPageSize : 0), Rds.SelectCount( tableName: ss.ReferenceType, join: join, where : where) }); column.TotalCount = Rds.Count(dataSet); return(dataSet.Tables["Main"].AsEnumerable()); }
private void Get( Context context, SiteSettings ss, View view, Sqls.TableTypes tableType = Sqls.TableTypes.Normal, SqlColumnCollection column = null, SqlJoinCollection join = null, SqlWhereCollection where = null, int top = 0, int offset = 0, int pageSize = 0) { column = column ?? ColumnUtilities.SqlColumnCollection( context: context, ss: ss, columns: ss.GetGridColumns( context: context, view: view)); where = view.Where( context: context, ss: ss, where : where); var orderBy = view.OrderBy( context: context, ss: ss); join = join ?? ss.Join( context: context, join: new IJoin[] { column, where, orderBy }); var statements = new List <SqlStatement> { Rds.Select( tableName: ss.ReferenceType, tableType: tableType, dataTableName: "Main", column: column, join: join, where : where, orderBy: orderBy, top: top, offset: offset, pageSize: pageSize), Rds.SelectCount( tableName: ss.ReferenceType, tableType: tableType, join: join, where : where) }; var dataSet = Rds.ExecuteDataSet( context: context, transactional: false, statements: statements.ToArray()); DataRows = dataSet.Tables["Main"].AsEnumerable(); TotalCount = Rds.Count(dataSet); ss.SetChoiceHash(dataRows: DataRows); }