Beispiel #1
0
        private IEnumerable <ICab> CabsPourCompte(CompteCab compte, ITaskObserver observer)
        {
            observer.NotifyProgress(this, 0);
            var cabs = new List <ICab>();

            string pageRacine = OuvrirPage(RequêteDossierRacine(compte), observer.InSlice(0, 7));

            cabs.AddRange(CabsPourPage(pageRacine, compte.Editeur, observer.InSlice(7, 10)));

            ITaskObserver loopObs = observer.InSlice(10, 100);
            var           matches = _RegexDossier.Matches(pageRacine);
            var           slices  = loopObs.GetSlices(matches.Count).GetEnumerator();

            foreach (Match mDossier in matches)
            {
                ITaskObserver sliceObs = loopObs.InSlice(slices.Current);
                var           gDossier = mDossier.Groups["url_rep"];
                if (gDossier != null && !String.IsNullOrEmpty(gDossier.Value))
                {
                    string dossier     = gDossier.Value;
                    string pageDossier = OuvrirPage(RequêteDossier(compte, dossier), sliceObs.InSlice(0, 70));
                    if (!String.IsNullOrEmpty(pageDossier))
                    {
                        cabs.AddRange(CabsPourPage(pageDossier, compte.Editeur, sliceObs.InSlice(70, 100)));
                    }
                }
                slices.MoveNext();
            }
            observer.NotifyProgress(this, 100);
            return(cabs);
        }
Beispiel #2
0
        private HttpWebRequest RequêteUrl(CompteCab compte, string url)
        {
            var repRequest =
                (HttpWebRequest)WebRequest.Create(url);

            repRequest.Credentials = new NetworkCredential(compte.Identifiant, compte.MotDePasse, "");
            repRequest.UserAgent   =
                "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
            return(repRequest);
        }
Beispiel #3
0
        private HttpWebRequest RequêteDossierRacine(CompteCab compte)
        {
            string dossierRacine = $"{Configuration.DossierRacine}/{compte.Dossier}";

            return(RequêteDossier(compte, dossierRacine));
        }
Beispiel #4
0
        private HttpWebRequest RequêteDossier(CompteCab compte, string dossier)
        {
            string url = $"{Configuration.Url}/{dossier}/";

            return(RequêteUrl(compte, url));
        }