public DateTimeOffset ReadLastProcessedDate() { var range = $"{_sheet}!B2"; SpreadsheetsResource.ValuesResource.GetRequest request = _service.Spreadsheets.Values.Get(_spreadsheetId, range); var response = request.Execute(); IList <IList <object> > values = response.Values; if (values != null && values.Count == 1) { var row = values[0]; string result = row[0].ToString(); DateTimeOffset dt; if (DateTimeOffset.TryParse(result, out dt)) { _log.Debug($"last processed date = {dt}"); return(dt); } else { _log.Error($"unable to parse {result}"); return(DateTimeOffset.Now); } } _log.Error("last processed date not found"); return(DateTime.MaxValue); }