public string ExcludeChannel(int[] channels, Point[] locations, string accesstoken, string regionName)
        {
            Check.IsNotNull(channels, "channels");
            Check.IsNotEmptyOrWhiteSpace(regionName, "Region Name");

            TvSpectrum[] spectra = new TvSpectrum[channels.Length];
            for (int i = 0; i < channels.Length; i++)
            {
                var spectrum = new TvSpectrum {
                    Channel = channels[i]
                };
                spectra[i] = spectrum;
            }

            List <GeoLocation> geoLocations = new List <GeoLocation>();

            foreach (Point location in locations)
            {
                geoLocations.Add(new GeoLocation
                {
                    Point = new Ellipse
                    {
                        Center = location
                    }
                });
            }

            this.requestParams = this.GetRequestParams(
                req =>
            {
                req.RegionName  = regionName;
                req.AccessToken = accesstoken;
                req.Params      = new Parameters
                {
                    Locations = geoLocations.ToArray(),
                    TvSpectra = spectra
                };
            });

            return(this.whitespacesClient.ExcludeChannel(this.requestParams).Message);
        }
        /// <summary>
        /// Get list of PortalContours from list of MVPDRegistration
        /// </summary>
        /// <param name="cdbsData">list of MVPDRegistration</param>
        /// <param name="incumbentType">incumbent type</param>
        /// <returns>list of portal contours</returns>
        public static List <PortalContour> GetContoursFromMvpd(List <MVPDRegistration> registrations)
        {
            List <PortalContour> sourceContours = new List <PortalContour>();
            object lockObject = new object();
            int    type       = (int)IncumbentType.MVPD;

            Parallel.ForEach(registrations, mvpdRegistration =>
            {
                try
                {
                    PortalContour portalContour   = new PortalContour();
                    portalContour.Type            = type;
                    portalContour.Latitude        = mvpdRegistration.Latitude;
                    portalContour.Longitude       = mvpdRegistration.Longitude;
                    portalContour.ParentLatitude  = mvpdRegistration.TxLatitude;
                    portalContour.ParentLongitude = mvpdRegistration.TxLongitude;
                    portalContour.RowKey          = type + "-" + mvpdRegistration.RowKey;

                    if (!string.IsNullOrEmpty(mvpdRegistration.MVPDChannel))
                    {
                        TvSpectrum spectrum        = JsonSerialization.DeserializeString <TvSpectrum>(mvpdRegistration.MVPDChannel);
                        portalContour.CallSign     = spectrum.CallSign;
                        portalContour.Channel      = Convert.ToInt16(spectrum.Channel);
                        portalContour.PartitionKey = "RGN1-" + portalContour.Channel.ToString();
                        portalContour.Contour      = GetContourPoints(portalContour);

                        lock (lockObject)
                        {
                            sourceContours.Add(portalContour);
                        }
                    }
                }
                catch (Exception ex)
                {
                    AzureLogger.Log(TraceEventType.Error, LoggingMessageId.RegistrationSyncManagerGenericMessage, "Error while processing MVPD with latitude:" + mvpdRegistration.Latitude + " longitude: " + mvpdRegistration.Longitude + " " + ex.ToString());
                }
            });

            return(sourceContours);
        }