using (System.Threading.CancellationTokenSource cancellationTokenSource = new System.Threading.CancellationTokenSource())
{
RetZselectAsync r = null;
MercatorUi._BaseClasses.ExclusiveBackgroundWorkerAsync ebwa = new MercatorUi._BaseClasses.ExclusiveBackgroundWorkerAsync(
async () => r = await Api.ZselectAsync(Globals.RepData, reqSql, cancellationTokenSource: cancellationTokenSource),
sigForm,
cancellationTokenSource: cancellationTokenSource);
if (cancellationTokenSource.IsCancellationRequested)
{
// l'utilisateur à cliqué sur Annuler
return;
}
else if (r == null)
{
// une exception s'est produite dans le code de l'actionAsync
Dialogs.Stop(ebwa.ExceptionDuringDoWork?.Message ?? "Unknown error!");
return;
}
else if (r.Result == null)
{
// une erreur SQL s'est produite
r.Zstoperror();
return;
}
else
{
// tout va bien !
DataSet dataSet = r.Result;
}
}