tidstagning/ResultList.cs
2022-11-03 21:58:32 +01:00

88 lines
3.1 KiB
C#

using System;
using System.Globalization;
using System.IO;
namespace Tidstagning
{
class ResultList : IDisposable
{
System.IO.StreamWriter filehandle_log;
System.IO.StreamWriter filehandle_results;
Tidstagning.MainUI parentForm;
string racenumber = "";
public ResultList(string filename, Tidstagning.MainUI log_object)
{
filename = MakeSafeFilename(filename, '_');
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;
}
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)
{
this.racenumber = header;
Write("----------------------------");
Write(header);
Write("Løb startet den: " + DateTime.Now.ToString(new CultureInfo("da-DK")));
Write("----------------------------");
WriteCSV("RaceNo,SailNo,Finish,Code,");
}
public void WriteFooter()
{
Write("----------------------------");
Write("Løb afsluttet den: " + DateTime.Now.ToString(new CultureInfo("da-DK")));
Write("----------------------------");
}
public void WriteComplete(Entry Boat)
{
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")) + ", ,");
}
public void WriteDNF(Entry Boat)
{
Write("Udgået! - " + Boat.Name + " - " + Boat.Completed_Time.ToString(new CultureInfo("da-DK")));
WriteCSV(this.racenumber + "," + Boat.SailNumber + "," + "00:00:00,DNC,");
}
public void Write(string textstring)
{
filehandle_log.WriteLine(textstring);
parentForm.LogAppend(textstring + "\r\n");
filehandle_log.Flush();
}
public void WriteCSV(string textstring)
{
filehandle_results.WriteLine(textstring);
filehandle_results.Flush();
}
public void Close()
{
filehandle_log.Close();
filehandle_log.Dispose();
filehandle_results.Close();
filehandle_results.Dispose();
}
public void Dispose()
{
this.Close();
}
}
}