FabianDuenki / ZbwBestContactManager

MIT License
2 stars 0 forks source link

[Feature] Add Exporter Service #23

Closed beyluta closed 3 weeks ago

beyluta commented 1 month ago

Usage (Single Model)

Exporting members of a Model to a .csv (works with ANY model even future ones 😉)

Trainee trainee = new Trainee(new TraineeDetails{ ActualTraineeYear = 1, TraineeYears = 2 });
Exporter<Trainee> exporter = new Exporter<Trainee>(trainee);
exporter.Export(Exporter<Trainee>.ExportType.CSV);

image

Usage (Multiple Models)

Exporting members of multiple Models to a .csv

Trainee jana = new Trainee(new TraineeDetails{ ActualTraineeYear = 1, TraineeYears = 2 });
Trainee pedro = new Trainee(new TraineeDetails { ActualTraineeYear = 2, TraineeYears = 2 });
Trainee fabian = new Trainee(new TraineeDetails { ActualTraineeYear = 1, TraineeYears = 2 });
Trainee gianLuca = new Trainee(new TraineeDetails { ActualTraineeYear = 2, TraineeYears = 2 });

Exporter<Trainee> exporter = new Exporter<Trainee>(new Trainee[] { jana, pedro, fabian, gianLuca });
exporter.Export(Exporter<Trainee>.ExportType.CSV);

image

Alternative

For simple file handling inside a controller for business logic

var exporter = new Exporter<Trainee>(null);
exporter.CreateFile("Bla Bla Bla", "myFile.txt");
exporter.DeleteFile("myFile.txt");