Exemplo n.º 1
0
        public List <AdModel> GetReport(string link, uint maxAdsForNumber, double minPrice, double maxPrice)
        {
            var res = GetLinks(link);

            res = res.DistinctBy(s => s.TempId).ToList();
            var blackNumberManager = new BlackNumberManager();

            blackNumberManager.BulkAdd(res);
            var blackNumbers = blackNumberManager.GetBlackNumbers(maxAdsForNumber);

            var forReport = res.Where(s => s.IsPrivate).ToList();

            forReport = forReport.Where(s => s.PhoneNumbers.All(c => !blackNumbers.Contains(c))).ToList();
            forReport = forReport.Where(s => s.Price > minPrice && s.Price < maxPrice).ToList();
            return(forReport.OrderBy(s => s.Link).ToList());
        }
Exemplo n.º 2
0
        private static void TestBlackNumberManager()
        {
            var manager = new BlackNumberManager();

            using (var sw = new FileStream("blackNumbers.txt", FileMode.Open))
            {
                manager.LoadFromStream(sw);
            }
            var linkPattern = "https://www.olx.ua/nedvizhimost/arenda-kvartir/dolgosrochnaya-arenda-kvartir/dnepropetrovsk/";// "https://www.olx.ua/nedvizhimost/arenda-kvartir/dolgosrochnaya-arenda-kvartir/"; //"https://www.olx.ua/nedvizhimost/arenda-kvartir/dolgosrochnaya-arenda-kvartir/dnepropetrovsk/?search%5Bfilter_float_number_of_rooms%3Afrom%5D=2&search%5Bfilter_float_number_of_rooms%3Ato%5D=3";//"http://www.olx.ua/nedvizhimost/arenda-kvartir/dolgosrochnaya-arenda-kvartir/dnepropetrovsk/"; //"http://www.olx.ua/nedvizhimost/arenda-domov/dnepropetrovsk/";
            //System.Console.WriteLine("Pages count: {0}", GetPagesCount(linkPattern));
            var previewAdModels = GetPreviewModels(linkPattern);

            manager.BulkAdd(previewAdModels);
            System.Console.WriteLine(manager.GetShortReport());
            using (var sw = new StreamWriter("long_report.txt"))
            {
                sw.Write(manager.GetLongReport());
            }

            using (var sw = new FileStream("blackNumbers.txt", FileMode.OpenOrCreate))
            {
                manager.SaveToStream(sw);
            }
        }