BAppConsoleModel - esempi
Punto di ingresso
internal class Program
{
private static async Task Main(string[] args)
{
BApp app = new BApp(args);
bool completato = await app.Run();
if (!completato && Environment.ExitCode == 0)
Environment.ExitCode = BBatch.K_EXITCODE_ELABORATION_FAILED;
}
}
Aggiungere un parametro
Dentro ReadArguments():
if (command.ToUpper() == "-D")
{
DataElaborazione = BConvert.ToDate(value);
}
Dentro CheckValidParameters():
if (DataElaborazione == DateTime.MinValue)
{
WriteLog("Parametro data non valido", BEnumerations.eSeverity.ERROR);
ret = false;
}
Dentro PrintHelp():
Console.WriteLine("-D:data --> Data dell'elaborazione");
Logica del batch
public override async Task<bool> Run()
{
try
{
WriteLog("Avvio elaborazione");
bool risultato = await EseguiElaborazione();
if (!risultato)
{
Environment.ExitCode = BBatch.K_EXITCODE_ELABORATION_FAILED;
return false;
}
Environment.ExitCode = BBatch.K_EXITCODE_OK;
return true;
}
catch (Exception ex)
{
WriteLog("Elaborazione non completata", BEnumerations.eSeverity.ERROR, ex);
Environment.ExitCode = BBatch.K_EXITCODE_ELABORATION_FAILED;
return false;
}
}
