/// <summary> /// Get a list of all <see cref="Diagnostic"/> objects in the currently-authenticated database. /// </summary> /// <param name="api">An authenticated <see cref="GeotabDataOnlyPlanAPI"/> object.</param> /// <returns></returns> static async Task <List <Diagnostic> > GetAllDiagnosticsAsync(Geotab.DataOnlyPlan.API.GeotabDataOnlyPlanAPI api) { const int DefaultFeedResultsLimitDiagnostic = 50000; List <Diagnostic> allDiagnostics = new List <Diagnostic>(); long?feedVersion = 0; FeedResult <Diagnostic> feedResult; bool keepGoing = true; while (keepGoing == true) { feedResult = await api.GetFeedDiagnosticAsync(feedVersion); feedVersion = feedResult.ToVersion; allDiagnostics.AddRange(feedResult.Data); if (feedResult.Data.Count < DefaultFeedResultsLimitDiagnostic) { keepGoing = false; } } return(allDiagnostics); }
/// <summary> /// Get a list of all <see cref="DriverChange"/> objects in the currently-authenticated database. /// </summary> /// <param name="api">An authenticated <see cref="GeotabDataOnlyPlanAPI"/> object.</param> /// <returns></returns> public static async Task <List <DriverChange> > GetAllDriverChangesAsync(Geotab.DataOnlyPlan.API.GeotabDataOnlyPlanAPI api) { const int DefaultFeedResultsLimitDriverChange = 50000; List <DriverChange> allDriverChanges = new(); long?feedVersion = 0; FeedResult <DriverChange> feedResult; bool keepGoing = true; while (keepGoing == true) { feedResult = await api.GetFeedDriverChangeAsync(feedVersion); feedVersion = feedResult.ToVersion; allDriverChanges.AddRange(feedResult.Data); if (feedResult.Data.Count < DefaultFeedResultsLimitDriverChange) { keepGoing = false; } } return(allDriverChanges); }