public async Task LoadNextDaysAsync() { var loadFromDate = CurrentToDate.AddDays(1); var loadUntilDate = CurrentToDate.AddDays(CurrentDayIncrease); var tracesResult = await GetActiveTracesAsync(loadFromDate, loadUntilDate); if (tracesResult.Success) { var traces = tracesResult.Result.ValueOr(new List <TraceItemModel>()); foreach (var trace in traces) { ActiveTracesDictionary.AddTrace(trace); } CurrentToDate = loadUntilDate; CurrentDayIncrease = 7; UpdateLoadedUntilText(); } else { var errorMessage = tracesResult.ErrorMessage.ValueOrException(new NotImplementedException()); await ApaleoOneNotificationService.ShowErrorAsync(errorMessage); } }
private async Task LoadActiveTracesAsync(DateTime from, DateTime toDateTime) { var tracesResult = await GetActiveTracesAsync(from, toDateTime); if (tracesResult.Success) { var traces = tracesResult.Result.ValueOr(new List <TraceItemModel>()); ActiveTracesDictionary.AddTracesRange(traces); CurrentFromDate = from; CurrentToDate = toDateTime; } }
protected override async Task LoadTracesAsync() { await LoadAllTracesAsync(); ActiveTracesDictionary.AddTracesRange( AllTracesDictionary .SelectMany(dict => dict.Value) .Where(trace => trace.State == TraceState.Active && trace.DueDate >= DateTime.Today) .ToList()); OverdueTraces = AllTracesDictionary .SelectMany(dict => dict.Value) .Where(trace => trace.State == TraceState.Active && trace.DueDate < DateTime.Today) .ToList(); AllTracesDictionary.SortValues(new TraceStateComparer()); UpdateCompletedTracesText(); }