//perform flush protected virtual Task MakeQuery(List <SignalWrapper <TSignal> > items, FlushAction action) { List <TSignal> signals = items.Select(x => x.Signal).ToList(); if (action == FlushAction.Insert) { return(_queries.Insert(signals)); } if (action == FlushAction.Update) { return(_queries.UpdateSendResults(signals)); } if (action == FlushAction.DeleteOne) { return(_queries.Delete(signals)); } throw new NotImplementedException($"Unknown flush action type {action}"); }