private async Task fillMissing(IEnumerable <IPost> posts) { var filler = new MissingFiller(); var schedule = new Schedule(); MissingDates.Clear(); MissingDates.AddRange(await filler.GetMissingDates(posts, schedule)); }
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; } }
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; } }
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; } }