У меня есть задача, которая выполняется асинхронно, и сразу после этого у меня есть второй метод, который должен получить информацию из асинхронной задачи. Я не могу изменить асинхронную задачу, поэтому я хотел узнать, можно ли сказать второму методу, чтобы он дождался завершения асинхронного метода.
foreach (AgentModel ag in Agents)
{
if (ag.IsEnabledRow == true)
{
if (ag.IsSelected == true)
{
if (ag.selectedMatrice != null)
{
if (ag.selectedWeeks != null)
{
//on vérifie le cycle choisi et on adapte la date en conséquence
semaineAAppliquer(ag);
ag.IsEnabledRow = false;
Task<int> attribuerPlanning = Gestion.AttrPlanning(
_dataService.ParamGlobaux.IDEtablissement,
_dataService.ParamGlobaux.Matricule,
_dataService.ParamGlobaux.ConnectionString,
ag.Matricule, ag.selectedMatrice.IDMatrice, DsCalendrierCongés,
dateDebutCycle, ag.dateFin, HoraireAZero, CompleterPriseVide,
RemplacerRH, JFRepos,
(text, title, buttons) => System.Windows.MessageBox.Show(
text, title, buttons), _progress, DecalageSemaine,
appliquerCouleur, _ToutEtablissement);
}
}
else
{
System.Windows.MessageBox.Show($"Sélectionner une matrice pour" +
$" l'agent {ag.Nom}.");
}
}
}
}
UpdateListeContrats();
Метод attribuerPlanning
- это асинхронный метод, и я бы хотел, не изменяя сам метод, чтобы он заканчивался перед вызовом UpdateListeContrats
.
Или, как способ сказать UpdateListeContrats
, не запускайте себя, пока другой метод не будет завершен.
(В настоящее время updateListeContrats
запускается без обновления информации методом attributerPlanning
.)