B-Arts DocumentationIndice generale

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;
  }
}