tidstagning/ResultList.cs

88 lines
3.1 KiB
C#
Raw Permalink Normal View History

2020-04-21 15:47:38 +00:00
using System;
2022-11-03 20:58:32 +00:00
using System.Globalization;
using System.IO;
2020-04-21 15:47:38 +00:00
namespace Tidstagning
{
2022-11-03 20:58:32 +00:00
class ResultList : IDisposable
2020-04-21 15:47:38 +00:00
{
System.IO.StreamWriter filehandle_log;
System.IO.StreamWriter filehandle_results;
2021-07-03 22:04:53 +00:00
Tidstagning.MainUI parentForm;
string racenumber = "";
2021-07-03 22:04:53 +00:00
public ResultList(string filename, Tidstagning.MainUI log_object)
2020-04-21 15:47:38 +00:00
{
filename = MakeSafeFilename(filename, '_');
2022-11-03 20:58:32 +00:00
filehandle_log = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Tidstagning/" + filename + "_" + DateTime.Now.ToString(" dd-MM-yyyy HH-mm-ss", new CultureInfo("da-DK")) + ".txt");
filehandle_results = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/Tidstagning/" + filename + "_" + DateTime.Now.ToString(" dd-MM-yyyy HH-mm-ss", new CultureInfo("da-DK")) + ".csv");
parentForm = log_object;
2020-04-21 15:47:38 +00:00
}
2022-11-03 20:58:32 +00:00
private static string MakeSafeFilename(string filename, char replaceChar)
{
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
filename = filename.Replace(c, replaceChar);
}
return filename;
}
public void WriteHeader(string header)
{
2020-04-21 15:47:38 +00:00
this.racenumber = header;
Write("----------------------------");
Write(header);
2022-11-03 20:58:32 +00:00
Write("Løb startet den: " + DateTime.Now.ToString(new CultureInfo("da-DK")));
2020-04-21 15:47:38 +00:00
Write("----------------------------");
WriteCSV("RaceNo,SailNo,Finish,Code,");
}
2020-04-21 15:47:38 +00:00
public void WriteFooter()
{
Write("----------------------------");
2022-11-03 20:58:32 +00:00
Write("Løb afsluttet den: " + DateTime.Now.ToString(new CultureInfo("da-DK")));
Write("----------------------------");
2020-04-21 15:47:38 +00:00
}
public void WriteComplete(Entry Boat)
{
2022-11-03 20:58:32 +00:00
Write("Fuldført! - " + Boat.Name + " - " + Boat.Completed_Time.ToString(new CultureInfo("da-DK")));
WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + Boat.Completed_Time.ToString("HH:mm:ss", new CultureInfo("da-DK")) + ", ,");
2020-04-21 15:47:38 +00:00
}
public void WriteDNF(Entry Boat)
{
2022-11-03 20:58:32 +00:00
Write("Udgået! - " + Boat.Name + " - " + Boat.Completed_Time.ToString(new CultureInfo("da-DK")));
WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + "00:00:00,DNC,");
2020-04-21 15:47:38 +00:00
}
public void Write(string textstring)
{
filehandle_log.WriteLine(textstring);
parentForm.LogAppend(textstring + "\r\n");
filehandle_log.Flush();
2020-04-21 15:47:38 +00:00
}
public void WriteCSV(string textstring)
{
filehandle_results.WriteLine(textstring);
filehandle_results.Flush();
2020-04-21 15:47:38 +00:00
}
public void Close()
{
filehandle_log.Close();
2022-11-03 20:58:32 +00:00
filehandle_log.Dispose();
filehandle_results.Close();
2022-11-03 20:58:32 +00:00
filehandle_results.Dispose();
}
2022-11-03 20:58:32 +00:00
public void Dispose()
{
this.Close();
}
2020-04-21 15:47:38 +00:00
}
}