OK x sim file fluxlog

This commit is contained in:
Samuele Locatelli
2023-05-04 19:28:01 +02:00
parent b11f14b235
commit f543810385
4 changed files with 91 additions and 70 deletions
+43 -42
View File
@@ -47,48 +47,49 @@ while (!headOK)
headOK = AnsiConsole.Confirm("Confermi HasHeader?");
}
// verifico se devo generare i file...
if (currConf.FileOutReq == "FL")
// leggo timetable
string filePath = Path.Combine(currConf.ConfDir, currConf.TimeTable);
if (File.Exists(filePath))
{
// leggo timetable
string filePath = Path.Combine(currConf.ConfDir, currConf.TimeTable);
if (File.Exists(filePath))
var righe = File.ReadAllLines(filePath).ToList();
// se devo saltare
if (currConf.HasHeader)
{
var righe = File.ReadAllLines(filePath).ToList();
// se devo saltare
if (currConf.HasHeader)
{
righe = righe.Skip(1).ToList();
}
// svuoto cartella output
if(!Directory.Exists(currConf.OutFolder))
{
Directory.CreateDirectory(currConf.OutFolder);
}
var fileList = Directory.GetFiles(currConf.OutFolder);
foreach ( var file in fileList )
{
File.Delete(file);
}
// verifico quale oggetto sim avviare... x ora SOLO interclays
InterClays currSim = new InterClays();
// ciclo su ogni record
foreach (var riga in righe)
{
// recupero dati del giorno corrente
var giornata = new DayConf("CsvDateDur", riga);
var elencoRighe = currSim.GetDataRows(currConf.FillMode, currConf.FileOutReq, giornata);
// scrivo sul file mensile i dati del singolo giorno...
string monthFile = Path.Combine("", $"{currConf.FillMode}_{currConf.FileOutReq}_{giornata.dtStart:yyyy-MM}.csv");
string fileOutPath=Path.Combine(currConf.OutFolder, monthFile);
if(!File.Exists(fileOutPath))
{
File.Create(fileOutPath);
}
// vado in append...
File.AppendAllLines(fileOutPath, elencoRighe);
}
righe = righe.Skip(1).ToList();
}
}
// svuoto cartella output
if (!Directory.Exists(currConf.OutFolder))
{
Directory.CreateDirectory(currConf.OutFolder);
}
var fileList = Directory.GetFiles(currConf.OutFolder);
foreach (var file in fileList)
{
File.Delete(file);
}
// verifico quale oggetto sim avviare... x ora SOLO interclays
InterClays currSim = new InterClays();
// ciclo su ogni record
foreach (var riga in righe)
{
// recupero dati del giorno corrente
var giornata = new DayConf("CsvDateDur", riga);
var simDataBlock = currSim.GetDataRows(currConf.FillMode, giornata);
// scrivo sul file mensile i dati del singolo giorno...
string pathFileFL = Path.Combine(currConf.OutFolder, $"{currConf.FillMode}_FL_{giornata.dtStart:yyyy-MM}.csv");
if (!File.Exists(pathFileFL))
{
File.WriteAllText(pathFileFL,"");
}
string pathFileEL = Path.Combine(currConf.OutFolder, $"{currConf.FillMode}_EL_{giornata.dtStart:yyyy-MM}.csv");
if (!File.Exists(pathFileEL))
{
File.WriteAllText(pathFileEL, "");
}
// vado in append...
File.AppendAllLines(pathFileFL, simDataBlock.FlList);
File.AppendAllLines(pathFileEL, simDataBlock.EvList);
}
}