private IEnumerable <IParution> ParutionsCiblées(DateTime dhlMin, DateTime dhlMax, IOptionsSélectionParutions optionsSélection) { return (RequêteParutionsCiblées(_dépôtParutions.Parutions.AsParallel(), dhlMin, dhlMax, optionsSélection) .ToList()); }
private Task <IEnumerable <IParution> > ParutionsCibléesAsync(DateTime dhlMin, DateTime dhlMax, IOptionsSélectionParutions optionsSélection) { return(Task.Factory.StartNew <IEnumerable <IParution> >( () => ParutionsCiblées(dhlMin, dhlMax, optionsSélection), TaskCreationOptions.AttachedToParent)); }
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 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 static IEnumerable <IParution> RequêteParutionsCiblées(IEnumerable <IParution> parutions, DateTime dhlMin, DateTime dhlMax, IOptionsSélectionParutions optionsSélection) { var req = from p in parutions where (p.DateDhl >= dhlMin) && (p.DateDhl <= dhlMax) && !p.FaitSortie && (p.Distributeur.TypeDistributeur == TypeDistributeur.Mlp || p.Distributeur.TypeDistributeur == TypeDistributeur.Nmpp) && !p.SupplémentAutreProduit select p; if (optionsSélection.FiltrerParCodeInterne && !String.IsNullOrWhiteSpace(optionsSélection.CodeInterne)) { req = from p in req where p.CodeSérie == optionsSélection.CodeInterne select p; } if (optionsSélection.FiltrerParDate && optionsSélection.DateDébut.HasValue) { req = from p in req where p.DateDhl >= optionsSélection.DateDébut select p; } if (optionsSélection.FiltrerParDate && optionsSélection.DateFin.HasValue) { req = from p in req where p.DateDhl <= optionsSélection.DateFin select p; } if (optionsSélection.FiltrerParNuméro) { req = from p in req where p.Numéro == optionsSélection.Numéro select p; } if (optionsSélection.FiltrerParPôle && optionsSélection.Pôle != null) { req = from p in req where p.Pôle.LibelléCourt == optionsSélection.Pôle.LibelléCourt select p; } return(req); }