Skip to content

Commit e906344

Browse files
authored
Merge pull request #70 from PandaTechAM/development
dotnet 10 upgrade
2 parents 0295523 + ec8ee0c commit e906344

File tree

18 files changed

+195
-130
lines changed

18 files changed

+195
-130
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616

1717
steps:
1818
- name: Checkout
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v6
2020

2121
- name: Setup .NET Core
22-
uses: actions/setup-dotnet@v4
22+
uses: actions/setup-dotnet@v5
2323
with:
2424
global-json-file: global.json
2525

.gitignore

Lines changed: 94 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
## Ignore Visual Studio temporary files, build results, and
22
## files generated by popular Visual Studio add-ons.
33
##
4-
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
4+
## Get latest from `dotnet new gitignore`
5+
6+
# dotenv files
7+
.env
58

69
# User-specific files
710
*.rsuser
@@ -12,8 +15,7 @@
1215

1316
# User-specific files (MonoDevelop/Xamarin Studio)
1417
*.userprefs
15-
.idea/
16-
/.idea/
18+
1719
# Mono auto generated files
1820
mono_crash.*
1921

@@ -58,11 +60,14 @@ dlldata.c
5860
# Benchmark Results
5961
BenchmarkDotNet.Artifacts/
6062

61-
# .NET Core
63+
# .NET
6264
project.lock.json
6365
project.fragment.lock.json
6466
artifacts/
6567

68+
# Tye
69+
.tye/
70+
6671
# ASP.NET Scaffolding
6772
ScaffoldingReadMe.txt
6873

@@ -397,5 +402,88 @@ FodyWeavers.xsd
397402

398403
# JetBrains Rider
399404
*.sln.iml
400-
/PandaFileExporter/MimeTypesFull.cs
401-
/MimeTypesFull.cs
405+
.idea/
406+
407+
##
408+
## Visual studio for Mac
409+
##
410+
411+
412+
# globs
413+
Makefile.in
414+
*.userprefs
415+
*.usertasks
416+
config.make
417+
config.status
418+
aclocal.m4
419+
install-sh
420+
autom4te.cache/
421+
*.tar.gz
422+
tarballs/
423+
test-results/
424+
425+
# Mac bundle stuff
426+
*.dmg
427+
*.app
428+
429+
# content below from: https://github.com/github/gitignore/blob/main/Global/macOS.gitignore
430+
# General
431+
.DS_Store
432+
.AppleDouble
433+
.LSOverride
434+
435+
# Icon must end with two \r
436+
Icon
437+
438+
439+
# Thumbnails
440+
._*
441+
442+
# Files that might appear in the root of a volume
443+
.DocumentRevisions-V100
444+
.fseventsd
445+
.Spotlight-V100
446+
.TemporaryItems
447+
.Trashes
448+
.VolumeIcon.icns
449+
.com.apple.timemachine.donotpresent
450+
451+
# Directories potentially created on remote AFP share
452+
.AppleDB
453+
.AppleDesktop
454+
Network Trash Folder
455+
Temporary Items
456+
.apdisk
457+
458+
# content below from: https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
459+
# Windows thumbnail cache files
460+
Thumbs.db
461+
ehthumbs.db
462+
ehthumbs_vista.db
463+
464+
# Dump file
465+
*.stackdump
466+
467+
# Folder config file
468+
[Dd]esktop.ini
469+
470+
# Recycle Bin used on file shares
471+
$RECYCLE.BIN/
472+
473+
# Windows Installer files
474+
*.cab
475+
*.msi
476+
*.msix
477+
*.msm
478+
*.msp
479+
480+
# Windows shortcuts
481+
*.lnk
482+
483+
# Vim temporary swap files
484+
*.swp
485+
486+
# Added by me
487+
logs
488+
LocalFileStorage
489+
*.db*

FileExporter.sln

Lines changed: 0 additions & 48 deletions
This file was deleted.

FileExporter.slnx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<Solution>
2+
<Folder Name="/Solution Items/">
3+
<File Path=".editorconfig" />
4+
<File Path=".github/workflows/main.yml" />
5+
<File Path=".gitignore" />
6+
<File Path="global.json" />
7+
<File Path="README.md" />
8+
</Folder>
9+
<Folder Name="/src/">
10+
<Project Path="src/FileExporter/FileExporter.csproj" />
11+
</Folder>
12+
<Folder Name="/test/">
13+
<Project Path="test/FileExporter.Demo/FileExporter.Demo.csproj" />
14+
</Folder>
15+
</Solution>

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "9.0.200",
3+
"version": "10.0.101",
44
"rollForward": "latestMinor"
55
}
66
}

src/FileExporter/Exporters/CsvExporter.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Globalization;
44
using System.IO;
55
using System.Linq;
6+
using System.Text;
67
using CsvHelper;
78
using CsvHelper.Configuration;
89
using FileExporter.Dtos;
@@ -24,7 +25,7 @@ public static ExportFile Export<T>(IEnumerable<T> data, ExportRule<T> rule)
2425
var fileName = NamingHelper.EnsureExtension(baseName, MimeTypes.Csv.Extension);
2526

2627
using var ms = new MemoryStream();
27-
using (var writer = new StreamWriter(ms, new System.Text.UTF8Encoding(true), leaveOpen: true))
28+
using (var writer = new StreamWriter(ms, new UTF8Encoding(true), leaveOpen: true))
2829
{
2930
var config = new CsvConfiguration(CultureInfo.InvariantCulture)
3031
{

src/FileExporter/Exporters/XlsxExporter.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ internal static class XlsxExporter
2020
{
2121
internal static async Task<ExportFile> ExportAsync<T>(IEnumerable<T> data,
2222
ExportRule<T> rule,
23-
CancellationToken cancellationToken = default)
23+
CancellationToken ct = default)
2424
where T : class
2525
{
2626
ArgumentNullException.ThrowIfNull(data);
@@ -41,12 +41,12 @@ internal static async Task<ExportFile> ExportAsync<T>(IEnumerable<T> data,
4141
if (totalRows <= rowsPerSheet)
4242
{
4343
// Single sheet
44-
bytes = await CreateXlsxFileAsync(list, columns, rule, cancellationToken);
44+
bytes = await CreateXlsxFileAsync(list, columns, rule, ct);
4545
}
4646
else
4747
{
4848
// Multi-sheet single workbook
49-
bytes = await CreateMultiSheetXlsxFileAsync(list, columns, rule, rowsPerSheet, cancellationToken);
49+
bytes = await CreateMultiSheetXlsxFileAsync(list, columns, rule, rowsPerSheet, ct);
5050
}
5151

5252
if (bytes.Length < ExportLimits.ZipThresholdBytes)
@@ -65,12 +65,12 @@ internal static async Task<ExportFile> ExportAsync<T>(IEnumerable<T> data,
6565
private static async Task<byte[]> CreateXlsxFileAsync<T>(IEnumerable<T> dataSlice,
6666
List<ExportColumn> columns,
6767
ExportRule<T> rule,
68-
CancellationToken cancellationToken)
68+
CancellationToken ct)
6969
where T : class
7070
{
7171
await using var ms = new MemoryStream();
7272

73-
await using (var spreadsheet = await Spreadsheet.CreateNewAsync(ms, cancellationToken: cancellationToken))
73+
await using (var spreadsheet = await Spreadsheet.CreateNewAsync(ms, cancellationToken: ct))
7474
{
7575
var sheetName = rule.FileName.ToValidName(30);
7676

@@ -79,13 +79,13 @@ private static async Task<byte[]> CreateXlsxFileAsync<T>(IEnumerable<T> dataSlic
7979

8080
options.FrozenRows = 1;
8181

82-
await spreadsheet.StartWorksheetAsync(sheetName, options, token: cancellationToken);
82+
await spreadsheet.StartWorksheetAsync(sheetName, options, ct);
8383

8484
var table = new Table(TableStyle.None);
8585
spreadsheet.StartTable(table);
8686

8787
var headerStyleId = AddHeaderStyle(spreadsheet);
88-
await AddHeaderRowAsync(spreadsheet, columns, headerStyleId, cancellationToken);
88+
await AddHeaderRowAsync(spreadsheet, columns, headerStyleId, ct);
8989

9090
foreach (var item in dataSlice)
9191
{
@@ -99,10 +99,10 @@ private static async Task<byte[]> CreateXlsxFileAsync<T>(IEnumerable<T> dataSlic
9999
row.Add(formatted == null ? new Cell(string.Empty) : CreateCell(formatted));
100100
}
101101

102-
await spreadsheet.AddRowAsync(row, cancellationToken);
102+
await spreadsheet.AddRowAsync(row, ct);
103103
}
104104

105-
await spreadsheet.FinishAsync(cancellationToken);
105+
await spreadsheet.FinishAsync(ct);
106106
}
107107

108108
return ms.ToArray();
@@ -152,7 +152,7 @@ private static StyleId AddHeaderStyle(Spreadsheet spreadsheet)
152152
private static async Task AddHeaderRowAsync(Spreadsheet spreadsheet,
153153
IReadOnlyList<ExportColumn> columns,
154154
StyleId headerStyleId,
155-
CancellationToken cancellationToken)
155+
CancellationToken ct)
156156
{
157157
var headers = new string[columns.Count];
158158

@@ -161,7 +161,7 @@ private static async Task AddHeaderRowAsync(Spreadsheet spreadsheet,
161161
headers[i] = columns[i].Rule.ColumnName;
162162
}
163163

164-
await spreadsheet.AddHeaderRowAsync(headers, headerStyleId, cancellationToken);
164+
await spreadsheet.AddHeaderRowAsync(headers, headerStyleId, ct);
165165
}
166166

167167
private static void ApplyColumnWidths(WorksheetOptions options, IReadOnlyList<ExportColumn> columns)
@@ -355,12 +355,12 @@ private static async Task<byte[]> CreateMultiSheetXlsxFileAsync<T>(IList<T> list
355355
List<ExportColumn> columns,
356356
ExportRule<T> rule,
357357
int rowsPerSheet,
358-
CancellationToken cancellationToken)
358+
CancellationToken ct)
359359
where T : class
360360
{
361361
await using var ms = new MemoryStream();
362362

363-
await using (var spreadsheet = await Spreadsheet.CreateNewAsync(ms, cancellationToken: cancellationToken))
363+
await using (var spreadsheet = await Spreadsheet.CreateNewAsync(ms, cancellationToken: ct))
364364
{
365365
var sanitizedBaseName = rule.FileName.ToValidName(ExportLimits.MaxSheetNameLength);
366366
var headerStyleId = AddHeaderStyle(spreadsheet);
@@ -378,12 +378,12 @@ private static async Task<byte[]> CreateMultiSheetXlsxFileAsync<T>(IList<T> list
378378

379379
options.FrozenRows = 1;
380380

381-
await spreadsheet.StartWorksheetAsync(sheetName, options, token: cancellationToken);
381+
await spreadsheet.StartWorksheetAsync(sheetName, options, ct);
382382

383383
var table = new Table(TableStyle.None);
384384
spreadsheet.StartTable(table);
385385

386-
await AddHeaderRowAsync(spreadsheet, columns, headerStyleId, cancellationToken);
386+
await AddHeaderRowAsync(spreadsheet, columns, headerStyleId, ct);
387387

388388
for (var i = 0; i < take; i++)
389389
{
@@ -398,11 +398,11 @@ private static async Task<byte[]> CreateMultiSheetXlsxFileAsync<T>(IList<T> list
398398
row.Add(formatted == null ? new Cell(string.Empty) : CreateCell(formatted));
399399
}
400400

401-
await spreadsheet.AddRowAsync(row, cancellationToken);
401+
await spreadsheet.AddRowAsync(row, ct);
402402
}
403403
}
404404

405-
await spreadsheet.FinishAsync(cancellationToken);
405+
await spreadsheet.FinishAsync(ct);
406406
}
407407

408408
return ms.ToArray();

0 commit comments

Comments
 (0)