static void ConfigureSenderSideRoutingCandidateVoteCount(RoutingSettings <AzureServiceBusTransport> routing)
    {
        #region ConfigureSenderSideRouting-CandidateVoteCount

        var remotePartitions = new[] { "33000", "66000", "99000" };

        Func <TrackZipCode, string> convertStringZipCodeToHighKey = message =>
        {
            var zipCodeAsNumber = Convert.ToInt32(message.ZipCode);
            // 00000..33000 => 33000 33001..66000 => 66000 66001..99000 => 99000
            if (zipCodeAsNumber >= 0 && zipCodeAsNumber <= 33000)
            {
                return("33000");
            }

            if (zipCodeAsNumber > 33000 && zipCodeAsNumber <= 66000)
            {
                return("66000");
            }

            if (zipCodeAsNumber > 66000 && zipCodeAsNumber <= 99000)
            {
                return("99000");
            }
            throw new Exception($"Invalid zip code '{zipCodeAsNumber}' for message of type '{message.GetType()}'.");
        };

        var senderSideDistribution = routing.RegisterPartitionedDestinationEndpoint(
            destinationEndpoint: "ZipCodeVoteCount",
            partitions: remotePartitions);

        senderSideDistribution.AddPartitionMappingForMessageType <TrackZipCode>(
            mapMessageToPartitionKey: trackZipCode =>
        {
            return(convertStringZipCodeToHighKey(trackZipCode));
        });

        #endregion
    }