-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
32 lines (29 loc) · 1.82 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System.Linq;
using System.IO;
namespace CorrectionSheet_Generator {
class Program {
static void Main(string[] args) {
var encoding = "iso-8859-1"; // iso-8859-15 or iso-8859-1
var csvFile = "studerende.csv";
if (args.Count() > 0 && !string.IsNullOrEmpty(args[0])) csvFile = args[0]; //if args is set, use it instead.
Helpers.PreprocessCSV(csvFile, encoding); //preprocessing non standard csv file
var students = Helpers.ReadCSVFile(encoding); //reading preprocessed data to list of DigitalEksamenModel
//writing the correction sheet for all the students
//TODO: Write correct encoding based - Convert ISO-8859-1 to... UTF8?
using StreamWriter outputFile = new StreamWriter(Path.Combine(Directory.GetCurrentDirectory(), "evaluation.txt"));
outputFile.GenerateHeader("Generated Evaluation Sheet for the DM and VOP Course").GenerateNewLines(1);
foreach (var student in students) {
outputFile.GenerateHeader("#" + student.StudentNumber + " - " + student.Name)
.GenerateAssignment("Assignment 1 - Subtask 1", "20")
.GenerateAssignment("Assignment 1 - Subtask 2", "20")
.GenerateAssignment("Assignment 1 - Subtask 3", "10")
.GenerateAssignment("Assignment 2", "25")
.GenerateAssignment("Assignment 3 - Subtask 1", "10 (A3=20)")
.GenerateAssignment("Assignment 3 - Subtask 2", "10 (A3=20)")
.GenerateAssignment("Submission", "5")
.GenerateFinalAssessment("Final Assessment", "100", "Grading Guide: 12 = 93-100%; 10 = 79-93%; 7 = 61-79%; 4 = 46-61%; 2 = 40-46%; 00 = 10-40%; -3 = 0-10%;");
}
outputFile.Close();
}
}
}