コード例 #1
0
        public void ShouldFilterActiveItems()
        {
            _itemFilters = new ItemFilters();

            var items = new List <Item>
            {
                new Item()
                {
                    Id            = 1,
                    LastChecked   = DateTime.MinValue,
                    CheckInterval = 10000,
                    IsActive      = true
                },
                new Item()
                {
                    Id            = 2,
                    LastChecked   = DateTime.MinValue,
                    CheckInterval = 10000,
                    IsActive      = false
                },
                new Item()
                {
                    Id            = 3,
                    LastChecked   = DateTime.MinValue,
                    CheckInterval = 300000,
                    IsActive      = true
                }
            };

            var expectedItems = items.Where(x => x.Id != 2).ToList();
            var actualItems   = _itemFilters.GetScheduledList(items);

            Assert.AreEqual(expectedItems, actualItems);
        }
コード例 #2
0
        public void ShouldFilterByCheckInterval()
        {
            _itemFilters = new ItemFilters();

            var items = new List <Item>
            {
                new Item()
                {
                    Id            = 1,
                    CheckInterval = 10,
                    LastChecked   = DateTime.Now.AddMilliseconds(-10),
                    IsActive      = true
                },
                new Item()
                {
                    Id            = 2,
                    CheckInterval = 10,
                    LastChecked   = DateTime.Now.AddMilliseconds(-9),
                    IsActive      = false
                },
                new Item()
                {
                    Id            = 3,
                    CheckInterval = 10,
                    LastChecked   = DateTime.Now.AddMilliseconds(-11),
                    IsActive      = true
                }
            };

            var expectedItems = items.Where(x => x.Id != 2).ToList();
            var actualItems   = _itemFilters.GetScheduledList(items);

            Assert.AreEqual(expectedItems, actualItems);
        }
コード例 #3
0
        public void Do()
        {
            //var result = new List<UsernameEmailItem>();
            //GET ALL ITEMS
            var items = _itemsRepository.GetList();

            _logger.Info("\n --> ITEMS FROM DATABASE");
            _logger.Info("\n -->");

            foreach (var item in items)
            {
                _logger.Info(item.Name);
            }
            _logger.Info("GETTING ITEMS TO CHECK");

            //ITEMS TO CHECK
            _logger.Info("\n -->ITEMS TO CHECK");
            var scheduledItems = _itemFilters.GetScheduledList(items);

            foreach (var item in scheduledItems)
            {
                _logger.Info(item.Name);
            }

            //ITEMS WITH NEW CONTENT
            _logger.Info("\n -- > ITEMS WITH NEW CONTENT");

            var outdatedItems = _itemFilters.GetOutdatedList(scheduledItems);

            foreach (var item in outdatedItems)
            {
                _logger.Info(item.Name);
            }

            //UPDATING ITEMS
            _logger.Info("\n --> UPDATING ITEMS");

            UpdateOutdatedItems(outdatedItems);

            UpdateNonOutdatedItems(scheduledItems, outdatedItems);

            //FILTERING ITEMS TO SEND EMAIL
            //result = _itemFilters.GetEmailContacts(outdatedItems);

            //_logger.Info($"Changed items to send email: {result.Count}");

            //return result;
        }