private IEnumerable <IInfosOpérationDépôt> TéléchargerCabs(IEnumerable <IParution> parutionsCiblées, IDépôtCabPao dépôtCabPao, IDépôtCab dépôtCabExterne, IOptionsTéléchargementCabs optionsTéléchargement, IAfficheurTâches afficheurTâches) { var observer = _taskObserverFactory.CreateTaskObserver(); afficheurTâches.AjouterTâche($"Téléchargement des Cabs depuis [{dépôtCabExterne}]", observer); try { observer.NotifyStarted(this); observer.NotifyProgress(this, 0); var résultat = TéléchargerCabsCore(parutionsCiblées, dépôtCabPao, dépôtCabExterne, optionsTéléchargement.ConvertirCabVersTiff, observer); observer.NotifyProgress(this, 100); observer.NotifyCompleted(this); return(résultat); } catch (Exception exception) { observer.NotifyError(this, exception.DetailedMessage()); observer.NotifyAborted(this, "Interruption causée par une erreur"); throw; } }
public Task <IEnumerable <InfosTraitementParution> > VérifierEtTéléchargerCabsAsync( DateTime dhlMin, DateTime dhlMax, IOptionsSélectionParutions optionsSélection, IOptionsTéléchargementCabs optionsTéléchargement, IAfficheurTâches afficheurTâches) { return (Task.Factory.StartNew( () => VérifierEtTéléchargerCabs(dhlMin, dhlMax, optionsSélection, optionsTéléchargement, afficheurTâches), TaskCreationOptions.AttachedToParent | TaskCreationOptions.LongRunning)); }
private Task <IEnumerable <IInfosOpérationDépôt> > TéléchargerCabsAsync( Task <IEnumerable <IParution> > parutionsCibléesTask, Task <IDépôtCab> cabsPaoTask, Task <IDépôtCab> cabsExternesTask, IOptionsTéléchargementCabs optionsTéléchargement, IAfficheurTâches afficheurTâches) { return(Task.Factory.StartNew( () => TéléchargerCabs(parutionsCibléesTask.Result, cabsPaoTask.Result as IDépôtCabPao, cabsExternesTask.Result, optionsTéléchargement, afficheurTâches), TaskCreationOptions.AttachedToParent | TaskCreationOptions.LongRunning)); }
private void ChargerPlanning(IAfficheurTâches afficheurTâches) { var observer = _taskObserverFactory.CreateTaskObserver(); afficheurTâches.AjouterTâche("Chargement des données du planning", observer); try { observer.NotifyStarted(this); observer.NotifyProgress(this, 0); _dépôtParutions.ChargerParutions(observer); observer.NotifyProgress(this, 100); observer.NotifyCompleted(this); } catch (Exception exception) { observer.NotifyError(this, exception.DetailedMessage()); observer.NotifyAborted(this, exception.DetailedMessage()); } }
private IEnumerable <InfosTraitementParution> VérifierEtTéléchargerCabs(DateTime dhlMin, DateTime dhlMax, IOptionsSélectionParutions optionsSélection, IOptionsTéléchargementCabs optionsTéléchargement, IAfficheurTâches afficheurTâches) { Task <IEnumerable <IInfosOpérationDépôt> > téléchargerCabsMlpTask = null; Task <IEnumerable <IInfosOpérationDépôt> > téléchargerCabsNmppTask = null; var cabsPaoTask = ChargerDépôtCabAsync(_dépôtCabPao, afficheurTâches); var parutionsCibléesTask = ParutionsCibléesAsync(dhlMin, dhlMax, optionsSélection); if (optionsTéléchargement.ExaminerSiteMlp) { var cabsMlpTask = ChargerDépôtCabAsync(_dépôtCabMlp, afficheurTâches); téléchargerCabsMlpTask = TéléchargerCabsAsync(parutionsCibléesTask, cabsPaoTask, cabsMlpTask, optionsTéléchargement, afficheurTâches); } else { téléchargerCabsMlpTask = Task.Factory.StartNew(() => (IEnumerable <IInfosOpérationDépôt>) new List <IInfosOpérationDépôt>()); } if (optionsTéléchargement.ExaminerSiteNmpp) { var cabsNmppTask = ChargerDépôtCabAsync(_dépôtCabNmpp, afficheurTâches); téléchargerCabsNmppTask = TéléchargerCabsAsync(parutionsCibléesTask, cabsPaoTask, cabsNmppTask, optionsTéléchargement, afficheurTâches); } else { téléchargerCabsNmppTask = Task.Factory.StartNew(() => (IEnumerable <IInfosOpérationDépôt>) new List <IInfosOpérationDépôt>()); } var infosParutions = InfosParutions(parutionsCibléesTask.Result, téléchargerCabsMlpTask.Result.Union( téléchargerCabsNmppTask.Result)); EnvoyerRapportMail(infosParutions); return(infosParutions); }
private IDépôtCab ChargerDépôtCab(IDépôtCab dépôtCab, IAfficheurTâches afficheurTâches) { var observer = _taskObserverFactory.CreateTaskObserver(); afficheurTâches.AjouterTâche($"Examen des Cabs disponibles sur [{dépôtCab}]", observer); try { observer.NotifyStarted(this); observer.NotifyProgress(this, 0); dépôtCab.ChargerCabs(observer); observer.NotifyProgress(this, 100); observer.NotifyCompleted(this); return(dépôtCab); } catch (Exception exception) { observer.NotifyError(this, exception.DetailedMessage()); observer.NotifyAborted(this, "Interruption causée par une erreur"); throw; } }
public Task ChargerPlanningAsync(IAfficheurTâches afficheurTâches) { return(Task.Factory.StartNew(() => ChargerPlanning(afficheurTâches), TaskCreationOptions.AttachedToParent | TaskCreationOptions.LongRunning)); }
private Task <IDépôtCab> ChargerDépôtCabAsync(IDépôtCab dépôtCab, IAfficheurTâches afficheurTâches) { return(Task.Factory.StartNew(() => ChargerDépôtCab(dépôtCab, afficheurTâches), TaskCreationOptions.AttachedToParent | TaskCreationOptions.LongRunning)); }