public async Task <T> AddMatchAsync <T>(IRankedMatch match) where T : IRankedMatch { match.CalculateElo(); await _repository.AddMatchAsync(match); return((T)match); }