private async Task HandleCityCounters(PersonDTO person, PersonCategoryFilter filter)
        {
            var city = person.Address.City;
            var personPerCityCategory = await PersonPerCityCounterRepository.GetByCity(city);

            DecrementPerCityCounters(filter, personPerCityCategory);
            await PersonPerCityCounterRepository.Save(Transaction, personPerCityCategory);
        }
        private async Task HandleCityCounters(string oldCity, string newCity,
                                              PersonCategoryFilter oldFilter, PersonCategoryFilter newFilter)
        {
            if (oldCity != newCity)
            {
                var oldPersonPerCityCategory = await PersonPerCityCounterRepository.GetByCity(oldCity);

                DecrementPerCityCounters(oldFilter, oldPersonPerCityCategory);
                await PersonPerCityCounterRepository.Save(Transaction, oldPersonPerCityCategory);

                var newPersonPerCityCategory = await PersonPerCityCounterRepository.GetByCity(newCity);

                IncrementPerCityCounters(newFilter, newPersonPerCityCategory);
                await PersonPerCityCounterRepository.Save(Transaction, newPersonPerCityCategory);
            }
        }