public List <mwc.Incumbent> GetIncumbents(string incumbentType, string regionName, IEnumerable <int> channels) { Check.IsNotEmptyOrWhiteSpace(incumbentType, "incumbentType"); Check.IsNotEmptyOrWhiteSpace(regionName, "regionName"); IncumbentType enumType = (IncumbentType)Enum.Parse(typeof(IncumbentType), incumbentType, true); // Todo: This is temporary code until backend supports returning TV_US via the GetIncumbents call. if (enumType == IncumbentType.TV_US || enumType == IncumbentType.MVPD || enumType == IncumbentType.TV_TRANSLATOR) { return(this.GetIncumbentsFromTable(channels, enumType)); } mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = new Parameters { IncumbentType = incumbentType }; }); object[] rawIncumbents = this.whitespacesClient.GetIncumbents(requestParams).IncumbentList; return(WhitespacesManager.ParseRawIncumbents(enumType, rawIncumbents, channels)); }
public ProtectedDevice[] GetDeviceList(string incumbentType, double latitude, double longitude, string regionName = "United States") { mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = new Parameters { IncumbentType = incumbentType, Location = new GeoLocation { Point = new Ellipse { Center = new Point { Latitude = latitude.ToString(), Longitude = longitude.ToString() } } } }; }); return(this.whitespacesClient.GetDevices(requestParams).DeviceList); }
public void SubmitPawsInterference(Parameters parameters, string regionName = Microsoft.WhiteSpaces.Common.Constants.Paws) { mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = parameters; }); this.whitespacesClient.SubmitPawsInterference(requestParams); }
public LpAuxLicenseInfo GetULSFileInfo(string ulsFileNumber, string regionName = "United States") { Check.IsNotNull(ulsFileNumber, "Uls File Number"); mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = new Parameters(); }); LpAuxLicenseInfo[] lpAuxLicenses = this.whitespacesClient.GetAllUlsFileNumbers(regionName).LpAuxLicenses; return(lpAuxLicenses.Where(x => x.ULSFileNumber == ulsFileNumber).FirstOrDefault()); }
public async Task <MVPDCallSignsInfo> GetMvpdCallsignInfoAsync(string callsign, string regionName = "United States") { Check.IsNotNull(callsign, "callsign"); mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; }); Result result = await this.whitespacesClient.GetMvpdCallsignInfoAsync(callsign, regionName); return(result.CallsignInfo); }
public MVPDCallSignsInfo[] GetNearByTvStations(Location location, string accessToken, string regionName = "United States") { Check.IsNotNull(location, "Location"); mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = new Parameters { MVPDLocation = location, }; req.AccessToken = accessToken; }); return(this.whitespacesClient.GetNearByTvStations(requestParams).SearchMVPDCallSigns); }
public string ExcludeDevice(string accesstoken, string regionName, string deviceId, string serialNumber = "") { Check.IsNotEmptyOrWhiteSpace(regionName, "Region Name"); Check.IsNotEmptyOrWhiteSpace(accesstoken, "Access Token"); Check.IsNotEmptyOrWhiteSpace(regionName, "Region Name"); this.requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.AccessToken = accesstoken; req.Params = new Parameters { DeviceId = deviceId, SerialNumber = serialNumber }; }); return(this.whitespacesClient.ExcludeIds(this.requestParams).Message); }
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); }
public List <mwc.Incumbent> GetIncumbents(string incumbentType, double latitude, double longitude, string regionName, IEnumerable <int> channels) { Check.IsNotEmptyOrWhiteSpace(incumbentType, "incumbentType"); Check.IsNotEmptyOrWhiteSpace(regionName, "regionName"); IncumbentType enumType = (IncumbentType)Enum.Parse(typeof(IncumbentType), incumbentType, true); // Todo: This is temporary code until backend supports returning TV_US via the GetIncumbents call. if (enumType == IncumbentType.TV_US || enumType == IncumbentType.TV_TRANSLATOR || enumType == IncumbentType.MVPD) { return(this.GetIncumbentsFromTable(channels, enumType, latitude, longitude)); } // [Note:] As of now, it doesn't make any sense passing latitude and longitude values to filter the incumbents // based on the search region, but if it is enabled in back-end in future we can use following request. mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = new Parameters { IncumbentType = incumbentType, Location = new GeoLocation { Point = new Ellipse { Center = new Point { Latitude = latitude.ToString(), Longitude = longitude.ToString() } } } }; }); object[] rawIncumbents = this.whitespacesClient.GetIncumbents(requestParams).IncumbentList; return(WhitespacesManager.ParseRawIncumbents(enumType, rawIncumbents, channels)); }
public ChannelInfo[] GetChannelList(string incumbentType, double latitude, double longitude, string regionName = "United States") { Check.IsNotNull(incumbentType, "IncumbentType"); mwc.IRequestParameters requestParams = this.GetRequestParams( req => { req.RegionName = regionName; req.Params = new Parameters { IncumbentType = incumbentType, Location = new GeoLocation { Point = new Ellipse { Center = new Point { Latitude = latitude.ToString(), Longitude = longitude.ToString() } } }, // Required for LpAux or UnLpAux PointsArea = new Point[] { new Point { Latitude = latitude.ToString(), Longitude = longitude.ToString() } }, }; // TODO: Should following fix be only for United Kingdom? if (string.Compare(regionName, "United Kingdom", StringComparison.OrdinalIgnoreCase) == 0) { req.Params.RequestType = "Specific"; } }); return(this.whitespacesClient.GetChannelList(requestParams).ChannelInfo); }
public string RegisterMVPD(mwc.MvpdRegistrationInfo registrationInfo, string accessToken, string regionName = "United States") { Check.IsNotNull(registrationInfo, "MVPD Registration Info"); Check.IsNotNull(accessToken, "Access Token"); var errors = ValidationHelper.Validate <mwc.MvpdRegistrationInfo>(registrationInfo); if (errors.Count() > 0) { throw new mwc.ValidationErrorException(errors); } else { this.requestParams = this.GetRequestParams( req => { req.AccessToken = accessToken; req.Params = new Parameters { IncumbentType = registrationInfo.IncumbentType, MVPDLocation = registrationInfo.RecieveLocation, TransmitLocation = registrationInfo.TransmitLocation, Contact = registrationInfo.Contact, MVPDRegistrant = registrationInfo.RegistrantInfo, TvSpectrum = new TvSpectrum { CallSign = registrationInfo.CallSign, Channel = registrationInfo.Channel, }, // Some more name, description and contact Info, need to capture }; }); return(this.whitespacesClient.AddIncumbent(this.requestParams).Message); } }
public string RegisterLicensedLpAux(mwc.LicensedLpAuxRegistration registrationInfo, string accessToken, string regionName = "United States") { Check.IsNotNull(registrationInfo, "Licensed LpAux Registration Info"); Check.IsNotNull(accessToken, "Access Token"); List <Calendar> dateList = new List <Calendar>(); if (registrationInfo.IsRecurred) { dateList = this.GetEventDates(registrationInfo); } else { var strartDate = Convert.ToDateTime(registrationInfo.StartDate).Add(TimeSpan.Parse(registrationInfo.StartTime)); var endDate = Convert.ToDateTime(registrationInfo.EndDate).Add(TimeSpan.Parse(registrationInfo.EndTime)); dateList.Add(new Calendar { Start = strartDate.ToString(), End = endDate.ToString(), Stamp = DateTime.Now.ToString() }); } Event eventTime = new Event(); eventTime.Times = dateList.ToArray(); eventTime.Channels = registrationInfo.Channels; this.requestParams = this.GetRequestParams( req => { req.AccessToken = accessToken; req.Params = new Parameters { IncumbentType = IncumbentType.LPAux.ToString(), TvSpectrum = new TvSpectrum { CallSign = registrationInfo.CallSign, Channel = registrationInfo.Channels[0] }, PointsArea = new Point[] { new Point { Latitude = registrationInfo.Latitude.ToString(), Longitude = registrationInfo.Longitude.ToString() } }, Event = eventTime, LPAuxRegistrant = new Whitespace.Entities.Versitcard.VCard { Address = new Whitespace.Entities.Versitcard.Address { Locality = registrationInfo.Address1, Street = registrationInfo.Address2, Country = registrationInfo.Country, Region = registrationInfo.City, }, Org = new Whitespace.Entities.Versitcard.Organization { OrganizationName = registrationInfo.ResponsibleParty } }, Contact = new Whitespace.Entities.Versitcard.VCard { Address = new Whitespace.Entities.Versitcard.Address { Locality = registrationInfo.Address1, Street = registrationInfo.Address2, Country = registrationInfo.Country, Region = registrationInfo.City, }, Email = new Whitespace.Entities.Versitcard.Email[] { new Whitespace.Entities.Versitcard.Email { EmailAddress = registrationInfo.Email } }, Title = new Whitespace.Entities.Versitcard.Title { Text = registrationInfo.FriendlyName }, Telephone = new Whitespace.Entities.Versitcard.Telephone[] { new Whitespace.Entities.Versitcard.Telephone { TelephoneNumber = registrationInfo.ContactPhone, PId = registrationInfo.Phone } }, TimeZone = registrationInfo.TimeZone } // Channels need to capture }; }); return(this.whitespacesClient.AddIncumbent(this.requestParams).Message); }
public string RegisterTBasLinks(mwc.TBasLinkRegistration registrationInfo, string accessToken, string regionName = "United States") { Check.IsNotNull(registrationInfo, "Licensed LpAux Registration Info"); Check.IsNotNull(accessToken, "Access Token"); var strartDate = Convert.ToDateTime(registrationInfo.StartDate).Add(TimeSpan.Parse(registrationInfo.StartTime)); var endDate = Convert.ToDateTime(registrationInfo.EndDate).Add(TimeSpan.Parse(registrationInfo.EndTime)); this.requestParams = this.GetRequestParams( req => { req.AccessToken = accessToken; req.Params = new Parameters { IncumbentType = IncumbentType.TBAS.ToString(), TvSpectrum = new TvSpectrum { CallSign = registrationInfo.CallSign, Channel = registrationInfo.Channels[0] }, TransmitLocation = new Location { Latitude = Convert.ToDouble(registrationInfo.TransmitterLatitude), Longitude = Convert.ToDouble(registrationInfo.TransmitterLongitude) }, TempBasLocation = new Location { Latitude = Convert.ToDouble(registrationInfo.RecieverLatitude), Longitude = Convert.ToDouble(registrationInfo.RecieverLongitude) }, Event = new Event { // Reoccurence logic need to implement here Times = new Calendar[] { new Calendar { Start = strartDate.ToString(), End = endDate.ToString(), Stamp = DateTime.Now.ToString() } }, Channels = registrationInfo.Channels }, Contact = new Whitespace.Entities.Versitcard.VCard { Address = new Whitespace.Entities.Versitcard.Address { Locality = registrationInfo.Address1, Street = registrationInfo.Address2, Country = registrationInfo.Country, Region = registrationInfo.City, }, Email = new Whitespace.Entities.Versitcard.Email[] { new Whitespace.Entities.Versitcard.Email { EmailAddress = registrationInfo.Email } }, Telephone = new Whitespace.Entities.Versitcard.Telephone[] { new Whitespace.Entities.Versitcard.Telephone { TelephoneNumber = registrationInfo.Phone } }, TimeZone = registrationInfo.TimeZone, Title = new Whitespace.Entities.Versitcard.Title { Text = registrationInfo.FriendlyName } }, TempBASRegistrant = new Whitespace.Entities.Versitcard.VCard { Address = new Whitespace.Entities.Versitcard.Address { Locality = registrationInfo.Address1, Street = registrationInfo.Address2, Country = registrationInfo.Country, Region = registrationInfo.City, }, Email = new Whitespace.Entities.Versitcard.Email[] { new Whitespace.Entities.Versitcard.Email { EmailAddress = registrationInfo.Email } }, Org = new Whitespace.Entities.Versitcard.Organization { OrganizationName = registrationInfo.FriendlyName }, Telephone = new Whitespace.Entities.Versitcard.Telephone[] { new Whitespace.Entities.Versitcard.Telephone { TelephoneNumber = registrationInfo.Phone } }, TimeZone = registrationInfo.TimeZone, Title = new Whitespace.Entities.Versitcard.Title { Text = registrationInfo.Description } }, // Channels need to capture }; }); return(this.whitespacesClient.AddIncumbent(this.requestParams).Message); }