Esempio n. 1
0
        public IPiece Create(ColourOfPiece colour, KindOfPiece kind, bool isFirstMovie = true)
        {
            ICheckStrategyFactory checkStrategyFactory = new CheckStrategyFactory();
            ICheckStrategy        checkStrategy        = checkStrategyFactory.Create(kind, isFirstMovie);

            return(new ChessPiece(colour, kind, checkStrategy));
        }
Esempio n. 2
0
        public async void StartAsync(ICheckStrategy checkStrategy)
        {
            var client = new WebClient();

            for (var page = 1; page <= 100; page++)
            {
                var requestUri      = new Uri(string.Format(RequestUrl, page));
                var postsRawContent = await client.DownloadStringTaskAsync(requestUri);

                postsRawContent = FixContentErrors(postsRawContent);
                var document = new HtmlDocument();
                document.LoadHtml(postsRawContent);

                var postLinks = GetPostLinks(requestUri, document);

                foreach (var postLink in postLinks)
                {
                    try {
                        var postRawContent = await client.DownloadStringTaskAsync(postLink.PostUri);

                        postRawContent = FixContentErrors(postRawContent);
                        document.LoadHtml(postRawContent);

                        var postContents = GetPostContents(checkStrategy, document);
                        foreach (var postContent in postContents)
                        {
                            OnProgressReport(postContent.Title, postContent.DownloadUri);
                        }

                        if (_foundedDuplicateItems > MAX_DUPLICATE_ITEMS)
                        {
                            break;
                        }
                    } catch {}
                }

                if (_foundedDuplicateItems > MAX_DUPLICATE_ITEMS)
                {
                    break;
                }
            }

            OnGrabbingFinished();
        }
Esempio n. 3
0
 public Multiply(string a, string b)
 {
     vermenigvuldigen_met_de_helft_van_10x = new Vermenigvuldigen_met_de_helft_van_10x();
     vermenigvuldigen_kolomsgewijs = new Vermenigvuldigen_kolomsgewijs();
     vermenigvuldigen_door_halveren = new Vermenigvuldigen_door_halveren();
     vermenigvuldigen_met_1x_meer = new Vermenigvuldigen_met_1x_meer();
     vermenigvuldigen_met_1x_minder = new Vermenigvuldigen_met_1x_minder();
     vermenigvuldigen_met_1x_minder_10 = new Vermenigvuldigen_met_1x_minder_10();
     vermenigvuldigen_met_een_handig_getal = new Vermenigvuldigen_met_een_handig_getal();
     vermenigvuldigen_met_omkeringsprincipe = new Vermenigvuldigen_met_omkeringsprincipe();
     vermenigvuldigen_naar_analogie_met_nullen = new Vermenigvuldigen_naar_analogie_met_nullen();
     vermenigvuldigen_met_rond_getal = new Vermenigvuldigen_met_rond_getal();
     vermenigvulidgen_door_te_verdubbelen = new Vermenigvulidgen_door_te_verdubbelen();
     vermenigvulidgen_met_sprongen_op_de_getallenlijn = new Vermenigvuldigen_met_sprongen_op_de_getallenlijn();
     vermenigvulidgen_met_oppervlaktemodel = new Vermenigvuldigen_met_oppervlaktemodel();
     cijferend = new Cijferend();
     chainOrder();
     vermenigvuldigen_door_halveren.DoAnalyze(a, b);
 }
Esempio n. 4
0
        private IEnumerable <ParsedPostContentModel> GetPostContents(ICheckStrategy checkStrategy, HtmlDocument document)
        {
            var downloadUrls = document.DocumentNode.SelectNodes("//a[@href]")
                               .Where(du => IsValidPostDownloadUrl(du.Attributes["href"].Value))
                               .Select(pc => new ParsedPostContentModel {
                Title       = pc.InnerText.Trim(),
                DownloadUri = new Uri(pc.Attributes["href"].Value),
            });

            downloadUrls = GetCandidatePostContents(downloadUrls).Where(pc => {
                var isDuplicate = checkStrategy.IsDuplicate(Path.GetFileName(HttpUtility.UrlDecode(pc.DownloadUri.AbsolutePath)));
                if (isDuplicate)
                {
                    _foundedDuplicateItems++;
                }
                return(!isDuplicate);
            });

            return(downloadUrls);
        }
 public void setNextChain(ICheckStrategy nextChain)
 {
     this.nextInChain = nextChain;
 }
Esempio n. 6
0
 public Addition(string a, string b)
 {
     analogie = new Analogie();
     optellen_kolomsgewijs = new Optellen_kolomsgewijs();
     rekenen_met_mooie_getallen = new Rekenen_met_mooie_getallen();
     rekenen_met_rond_getal = new Rekenen_met_rond_getal();
     splitstrategie = new Splitstrategie();
     optellen_met_reigen = new Optellen_met_reigen();
     optellen_met_algoritmisch = new Optellen_algoritmisch();
     optellen_met_reigen_met_rond_getal = new Optellen_met_rijgen_met_rond_getal();
     optellen_splitsen_analogie = new Optellen_splitsen_analogie();
     chainOrder();
     analogie.DoAnalyze(a, b);
 }
Esempio n. 7
0
 public Minus(string a, string b)
 {
     aftrekken_door_verschil_te_bepalen = new Aftrekken_door_verschil_te_bepalen();
     komols_gewijs_aftrekken = new Komols_gewijs_aftrekken();
     rekenen_met_een_rond_getal = new Rekenen_met_een_rond_getal();
     splitstrategie_substraction = new Splitstrategie_substraction();
     aftrekken_analogie = new Aftrekken_Analogie();
     Aftrekken_met_reigen = new Aftrekken_met_reigen();
     aftrekken_algoritmisch = new Aftrekken_algoritmisch();
     aftrekken_met_reigen_met_rond_getal = new Aftrekken_met_rijgen_met_rond_getal();
     chainOrder();
     aftrekken_analogie.DoAnalyze(a, b);
 }
Esempio n. 8
0
 public Devide(string a, string b)
 {
     delen_door_gebruik_van_inverse = new Delen_door_gebruik_van_inverse_relatie();
     delen_door_herhaald_aftrekken_rest = new Delen_door_herhaald_aftrekken_rest();
     delen_door_herhaald_aftrekken = new Delen_door_herhaald_aftrekken();
     delen_door_herhaald_aftrekken_met_afschatten = new Delen_door_herhaald_aftrekken_met_afschatten();
     delen_naar_analogie_met_nullen = new Delen_naar_analogie_met_nullen();
     chainOrder();
     delen_door_gebruik_van_inverse.DoAnalyze(a, b);
 }
Esempio n. 9
0
 public AdvancePiece(ColourOfPiece colour, KindOfPiece kind, ICheckStrategy checkStrategy)
     : base(colour, kind, checkStrategy)
 {
     IsFirstMove = true;
 }
Esempio n. 10
0
 public ChessPiece(ColourOfPiece colour, KindOfPiece kind, ICheckStrategy checkStrategy)
 {
     Colour        = colour;
     Kind          = kind;
     CheckStrategy = checkStrategy;
 }