@@ -109,69 +109,72 @@ public async Task<IActionResult> ExportTable([FromQuery] string format, [FromFor
109
109
dtParameters = JsonConvert . DeserializeObject < DtParameters > ( dtParametersJson ) ;
110
110
}
111
111
112
- var searchBy = dtParameters . Search ? . Value ;
112
+ if ( dtParameters != default )
113
+ {
114
+ var searchBy = dtParameters . Search ? . Value ;
113
115
114
- // if we have an empty search then just order the results by Id ascending
115
- var orderCriteria = "Id" ;
116
- var orderAscendingDirection = true ;
116
+ // if we have an empty search then just order the results by Id ascending
117
+ var orderCriteria = "Id" ;
118
+ var orderAscendingDirection = true ;
117
119
118
- if ( dtParameters . Order != null )
119
- {
120
- // in this example we just default sort on the 1st column
121
- orderCriteria = dtParameters . Columns [ dtParameters . Order [ 0 ] . Column ] . Data ;
122
- orderAscendingDirection = dtParameters . Order [ 0 ] . Dir . ToString ( ) . ToLower ( ) == "asc" ;
123
- }
120
+ if ( dtParameters . Order != null )
121
+ {
122
+ // in this example we just default sort on the 1st column
123
+ orderCriteria = dtParameters . Columns [ dtParameters . Order [ 0 ] . Column ] . Data ;
124
+ orderAscendingDirection = dtParameters . Order [ 0 ] . Dir . ToString ( ) . ToLower ( ) == "asc" ;
125
+ }
124
126
125
- var result = _context . TestRegisters . AsQueryable ( ) ;
127
+ var result = _context . TestRegisters . AsQueryable ( ) ;
126
128
127
- if ( ! string . IsNullOrEmpty ( searchBy ) )
128
- {
129
- result = result . Where ( r => r . Name != null && r . Name . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
130
- r . FirstSurname != null && r . FirstSurname . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
131
- r . SecondSurname != null && r . SecondSurname . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
132
- r . Street != null && r . Street . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
133
- r . Phone != null && r . Phone . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
134
- r . ZipCode != null && r . ZipCode . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
135
- r . Country != null && r . Country . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
136
- r . Notes != null && r . Notes . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ) ;
137
- }
129
+ if ( ! string . IsNullOrEmpty ( searchBy ) )
130
+ {
131
+ result = result . Where ( r => r . Name != null && r . Name . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
132
+ r . FirstSurname != null && r . FirstSurname . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
133
+ r . SecondSurname != null && r . SecondSurname . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
134
+ r . Street != null && r . Street . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
135
+ r . Phone != null && r . Phone . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
136
+ r . ZipCode != null && r . ZipCode . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
137
+ r . Country != null && r . Country . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ||
138
+ r . Notes != null && r . Notes . ToUpper ( ) . Contains ( searchBy . ToUpper ( ) ) ) ;
139
+ }
138
140
139
- result = orderAscendingDirection ? result . OrderByDynamic ( orderCriteria , DtOrderDir . Asc ) : result . OrderByDynamic ( orderCriteria , DtOrderDir . Desc ) ;
141
+ result = orderAscendingDirection ? result . OrderByDynamic ( orderCriteria , DtOrderDir . Asc ) : result . OrderByDynamic ( orderCriteria , DtOrderDir . Desc ) ;
140
142
141
- var resultList = await result . ToListAsync ( ) ;
143
+ var resultList = await result . ToListAsync ( ) ;
142
144
143
- switch ( format )
144
- {
145
- case ExportFormat . Excel :
146
- return File (
147
- await _exportService . ExportToExcel ( resultList ) ,
148
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ,
149
- "data.xlsx" ) ;
150
-
151
- case ExportFormat . Csv :
152
- return File ( _exportService . ExportToCsv ( resultList ) ,
153
- "application/csv" ,
154
- "data.csv" ) ;
155
-
156
- case ExportFormat . Html :
157
- return File ( _exportService . ExportToHtml ( resultList ) ,
158
- "application/csv" ,
159
- "data.html" ) ;
160
-
161
- case ExportFormat . Json :
162
- return File ( _exportService . ExportToJson ( resultList ) ,
163
- "application/json" ,
164
- "data.json" ) ;
165
-
166
- case ExportFormat . Xml :
167
- return File ( _exportService . ExportToXml ( resultList ) ,
168
- "application/xml" ,
169
- "data.xml" ) ;
170
-
171
- case ExportFormat . Yaml :
172
- return File ( _exportService . ExportToYaml ( resultList ) ,
173
- "application/yaml" ,
174
- "data.yaml" ) ;
145
+ switch ( format )
146
+ {
147
+ case ExportFormat . Excel :
148
+ return File (
149
+ await _exportService . ExportToExcel ( resultList ) ,
150
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ,
151
+ "data.xlsx" ) ;
152
+
153
+ case ExportFormat . Csv :
154
+ return File ( _exportService . ExportToCsv ( resultList ) ,
155
+ "application/csv" ,
156
+ "data.csv" ) ;
157
+
158
+ case ExportFormat . Html :
159
+ return File ( _exportService . ExportToHtml ( resultList ) ,
160
+ "application/csv" ,
161
+ "data.html" ) ;
162
+
163
+ case ExportFormat . Json :
164
+ return File ( _exportService . ExportToJson ( resultList ) ,
165
+ "application/json" ,
166
+ "data.json" ) ;
167
+
168
+ case ExportFormat . Xml :
169
+ return File ( _exportService . ExportToXml ( resultList ) ,
170
+ "application/xml" ,
171
+ "data.xml" ) ;
172
+
173
+ case ExportFormat . Yaml :
174
+ return File ( _exportService . ExportToYaml ( resultList ) ,
175
+ "application/yaml" ,
176
+ "data.yaml" ) ;
177
+ }
175
178
}
176
179
177
180
return null ;
0 commit comments