public CompteCab(TypeEditeur editeur, string identifiant, string motDePasse, string dossier) { Editeur = editeur; Identifiant = identifiant ?? throw new ArgumentNullException(nameof(identifiant)); MotDePasse = motDePasse ?? throw new ArgumentNullException(nameof(motDePasse)); Dossier = dossier ?? throw new ArgumentNullException(nameof(dossier)); }
private static DonnéesCabBrutesMlp CréerDonnéesBrutes(Match mCab, TypeEditeur éditeur) { try { return (new DonnéesCabBrutesMlp { TypeEditeur = éditeur, Codif = mCab.Groups["codif"].Value, Numéro = int.Parse(mCab.Groups["nparu"].Value), Prix = decimal.Parse(mCab.Groups["prix"].Value.Replace(".", ",")), SPériodicité = mCab.Groups["per"].Value, SQualification = mCab.Groups["qualif"].Value, Url = $"http://cabs.mlp.fr{mCab.Groups["url"].Value}", Jour = int.Parse(mCab.Groups["jour"].Value), Mois = int.Parse(mCab.Groups["mois"].Value), Année = int.Parse(mCab.Groups["annee"].Value), Heure = int.Parse(mCab.Groups["heure"].Value), Minutes = int.Parse(mCab.Groups["minute"].Value) }); } catch (Exception) { // TODO: tracer exception return(null); } }
private IEnumerable <ICab> CabsPourPage(string page, TypeEditeur éditeur, ITaskObserver observer) { observer.NotifyProgress(this, 0); var cabs = new List <ICab>(); var matches = _RegexCab.Matches(page); using (var steps = observer.GetSteps(matches.Count).GetEnumerator()) { foreach (Match mCab in matches) { observer.NotifyProgress(this, steps.Current); var donnéesBrutes = CréerDonnéesBrutes(mCab, éditeur); if (donnéesBrutes != null) { var cab = CréerCab(donnéesBrutes); if (cab != null) { cabs.Add(cab); } } steps.MoveNext(); } } observer.NotifyProgress(this, 100); return(cabs); }
public ICab CréerCab(IDépôtCab dépôtCab, string url, TypeEditeur éditeur, TypeDistributeur distributeur, string codif, int?numéro, decimal?prix, TypePériodicité périodicité, TypeQualificationRéseau qualif, DateTime dateCréation, IParution parutionCible) { return(_factoryFunc(dépôtCab, url, _dépôtParutions.Editeur(éditeur), _dépôtParutions.Distributeur(distributeur), codif, numéro, prix, _dépôtParutions.Périodicité(périodicité), _dépôtParutions.QualificationRéseau(qualif), dateCréation, parutionCible)); }
public IEditeur Editeur(TypeEditeur typeEditeur) { return((from e in _éditeurs.Values where e.TypeEditeur == typeEditeur select e).FirstOrDefault()); }