public async Task EditMatchAsync(Match match)
        {
            var matchToEdit = await matchRepository.FindSingleAsync(x => x.MatchId == match.MatchId) ?? throw new NotFoundInDatabaseException();;

            // TODO : TESTY
            if (match.BracketIndex != 0)
            {
                if ((match.GuestTeamPoints == match.HomeTeamPoints) && matchToEdit.IsFinished)
                {
                    throw new ArgumentException();
                }

                if (await IsMatchHavingAParentMatchInBracketAsync(matchToEdit))
                {
                    throw new AmbiguousMatchException();
                }

                await AddAutoGeneratedBracketMatch(match);
            }

            matchRepository.ClearEntryState(matchToEdit);
            matchRepository.Update(match);

            await unitOfWork.CompleteAsync();
        }