public override async Task <int> LoadLastCheckpointAsync(string projectorIdentifier) { TCheckpointInfo checkpointInfo = null; try { checkpointInfo = connection.Get <TCheckpointInfo>(projectorIdentifier); } catch { try { if (!connection.TableExists("CheckpointInfos")) { connection.CreateTable(typeof(CheckpointInfo)); checkpointInfo = connection.Get <TCheckpointInfo>(projectorIdentifier); } } catch { } // TODO: error handling } if (checkpointInfo == null) { return(-1); } return(checkpointInfo.CheckpointNumber); }