Example #1
0
        private async Task fillMissing(IEnumerable <IPost> posts)
        {
            var filler   = new MissingFiller();
            var schedule = new Schedule();

            MissingDates.Clear();
            MissingDates.AddRange(await filler.GetMissingDates(posts, schedule));
        }
Example #2
0
        private async Task configureAsync(UploaderViewModelConfiguration config)
        {
            _isConfigurating = true;

            try {
                if (await Waiter.WaitUntilConditionSetsTrue(() => !IsBusy, 5, TimeSpan.FromSeconds(1f)) == false)
                {
                    return;
                }

                IsEnabled = config.IsEnabled;

                if (!config.IsEnabled)
                {
                    return;
                }

                if (await Waiter.WaitUntilConditionSetsTrue(() => _pullersController.Postponed.Items.Any(), 5,
                                                            TimeSpan.FromSeconds(1f)) == false)
                {
                    return;
                }

                if (config.DateOverride == -1)
                {
                    await fillMissing(_pullersController.Postponed.Items);

                    var firstMissed = MissingDates.FirstOrDefault();
                    if (firstMissed == default(int))
                    {
                        return;
                    }
                    DateUnix = firstMissed;
                }
                else
                {
                    DateUnix = config.DateOverride;
                }
            }
            finally {
                _isConfigurating = false;
            }
        }
Example #3
0
        public void moveToNextMissing()
        {
            if (MissingDates.None() || DateUnix <= 0)
            {
                return;
            }

            var nextOne = MissingDates.FirstOrDefault(p => p > DateUnix);

            if (nextOne == default(int))
            {
                nextOne = MissingDates.FirstOrDefault();
                if (nextOne == default(int))
                {
                    return;
                }
                DateUnix = nextOne;
            }
            else
            {
                DateUnix = nextOne;
            }
        }
Example #4
0
        public void moveToPreviousMissing()
        {
            if (MissingDates.None() || DateUnix <= 0)
            {
                return;
            }

            var previousOne = MissingDates.LastOrDefault(p => p < DateUnix);

            if (previousOne == default(int))
            {
                previousOne = MissingDates.LastOrDefault();
                if (previousOne == default(int))
                {
                    return;
                }
                DateUnix = previousOne;
            }
            else
            {
                DateUnix = previousOne;
            }
        }