Beispiel #1
0
        static void Main(string[] args)
        {
            log4net.Config.XmlConfigurator.Configure();
            TaxonomyCreationService.Initialize();
            ThreadPool.SetMinThreads(10, 10);

            var provider = GetProvider(args);
            var user     = UserCreationService.CreateOrUpdate("couponer", "$P$BWJW/XnJo3sQg6CNqsrt1zHYMo4H7b1");

            switch (provider)
            {
            case Provider.ShopWindow:
                Tasks.Providers.ShopWindow.Provider.GetDeals(user);
                break;

            case Provider.Amazon:
                Tasks.Providers.Amazon.Provider.GetDeals(user);
                break;

            case null:
                throw new Exception("No provider was selected.");

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Beispiel #2
0
        public void Sandbox()
        {
            log4net.Config.XmlConfigurator.Configure();
            PostCreationService.Clear();
            TaxonomyCreationService.Clear();
            TaxonomyCreationService.Initialize();
            var user = UserCreationService.CreateOrUpdate("couponer", "$P$BWJW/XnJo3sQg6CNqsrt1zHYMo4H7b1");

            Provider.GetDeals(user);
        }
Beispiel #3
0
        public void When_initializating_creates_the_geography_code_category()
        {
            TaxonomyCreationService.Clear();
            TaxonomyCreationService.Initialize();

            using (var ctx = new DatabaseContext(Config.DB_CONNECTION_STRING))
            {
                var item = ctx.WP_Terms.FirstOrDefault(x => x.name == "geography");
                Assert.That(item, Is.Not.Null);
            }
        }
Beispiel #4
0
        public void When_getting_products_updates_the_database_tables()
        {
            TaxonomyCreationService.Clear();
            TaxonomyCreationService.Initialize();
            TaxonomyCreationService.GetProduct("random-product");

            using (var ctx = new DatabaseContext(Config.DB_CONNECTION_STRING))
            {
                var item = ctx.WP_Terms.FirstOrDefault(x => x.name == "random-product");
                Assert.That(item, Is.Not.Null);
            }
        }
Beispiel #5
0
        public void When_getting_products_updates_the_options_table()
        {
            const string PREFIX = "taxonomy_";

            TaxonomyCreationService.Clear();
            TaxonomyCreationService.Initialize();
            var id = TaxonomyCreationService.GetProduct("random-product");

            using (var ctx = new DatabaseContext(Config.DB_CONNECTION_STRING))
            {
                var results = ctx.WP_Options.Where(x => x.option_name.StartsWith(PREFIX)).ToList();
                Assert.That(results, Is.Not.Empty);
                Assert.That(results.FirstOrDefault(x => x.option_name == PREFIX + id), Is.Not.Null);
            }
        }
        public override IEnumerable <wp_term_relationship> GetTerms()
        {
            var terms = new List <wp_term_relationship>();

            if (Geographies != null && Geographies.Any())
            {
                terms.AddRange(Geographies.Select(x => new wp_term_relationship {
                    term_taxonomy_id = TaxonomyCreationService.GetGeography(x)
                }));
            }

            GetProducts(terms);

            return(terms);
        }
        public static void Save(wp_user user, params Shop[] shops)
        {
            if (shops != null)
            {
                foreach (var shop in shops)
                {
                    if (!Contains(shop))
                    {
                        var id = PostCreationService.CreatePost(user, shop.Title, shop.DatabaseIdentifier, shop.Description, "shop");

                        PostCreationService.CreatePostMetadata(id, shop.GetCustomFields());
                        PostCreationService.CreatePostTaxonomy(id, new[] { new wp_term_relationship {
                                                                               term_taxonomy_id = TaxonomyCreationService.GetGeography(shop.Geography)
                                                                           } });

                        log.DebugFormat("Created shop with ID <{0}> for source <{1}>.", shop.UniqueId, shop.Source);
                    }
                    else
                    {
                        log.DebugFormat("Skipping shop with ID <{0}> for source <{1}>.", shop.UniqueId, shop.Source);
                    }
                }
            }
        }