/// <summary> /// Gets the service cache objects. /// </summary> /// <param name="cacheObjectType">Type of the cache object.</param> /// <param name="serviceCacheRequestParameters">The service cache request parameters.</param> /// <returns>returns List of cache data.</returns> public object GetServiceCacheObjects(ServiceCacheObjectType cacheObjectType, ServiceCacheRequestParameters serviceCacheRequestParameters) { if (cacheObjectType == ServiceCacheObjectType.PMSEAssignment) { return(this.GetPMSEAssignment(serviceCacheRequestParameters)); } return(null); }
/// <summary> /// Validates the Add Incumbents request. /// </summary> /// <param name="parameters">The parameters.</param> /// <param name="errorMessages">The error messages.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> public override bool ValidateAddIncumbentRequestTBAS(Parameters parameters, out List <string> errorMessages) { var valResult = base.ValidateAddIncumbentRequestTBAS(parameters, out errorMessages); if (valResult) { if (!this.TvSpectrum(parameters, out errorMessages)) { return(false); } if (!this.TempBasLocation(parameters, out errorMessages)) { return(false); } if (!this.TransmitLocation(parameters, out errorMessages)) { return(false); } if (!this.EventTBAS(parameters, out errorMessages)) { return(false); } if (parameters.TvSpectrum.CallSign == null) { errorMessages.Add(Constants.ErrorMessageCallSignRequired); return(false); } var serviceCacheRequestParameter = new ServiceCacheRequestParameters() { VsdService = "DT" }; var callSigns = DatabaseCache.ServiceCacheHelper.SearchCacheObjects(ServiceCacheObjectType.TvEngData, SearchCacheRequestType.ByVsdService, serviceCacheRequestParameter) as IEnumerable <CacheObjectTvEngdata>; if (callSigns.FirstOrDefault(obj => obj.CallSign == parameters.TvSpectrum.CallSign) == null) { errorMessages.Add(Constants.ErrorMessageCallSignNotExist); return(false); } if (GeoCalculations.GetDistance(parameters.TransmitLocation, parameters.TempBasLocation).InMeter() < 100) { errorMessages.Add(Constants.ErrorMessageDistanceLessThan100); return(false); } } return(valResult); }
/// <summary> /// Gets the service cache objects. /// </summary> /// <param name="cacheObjectType">Type of the cache object.</param> /// <param name="serviceCacheRequestParameters">The service cache request parameters.</param> /// <returns>returns List of cache data.</returns> public object GetServiceCacheObjects(ServiceCacheObjectType cacheObjectType, ServiceCacheRequestParameters serviceCacheRequestParameters) { if (cacheObjectType == ServiceCacheObjectType.RegionPolygons) { if (regionPolygonsCacheDictionary == null) { this.FillRegionPolygonsCacheDictionary(); } return(regionPolygonsCacheDictionary); } return(null); }
/// <summary> /// Gets the incumbents. /// </summary> /// <param name="requestParameters">The request parameters.</param> /// <returns>returns Incumbent[][].</returns> private List <PmseAssignment> GetPMSEAssignment(ServiceCacheRequestParameters requestParameters) { const string LogMethodName = "OFCOMServiceCacheHelper.GetPMSEAssignment"; this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Enter " + LogMethodName); try { this.LoadCacheData <PmseAssignment>(ServiceCacheObjectType.PMSEAssignment); return(pmseAssignmentCache); } catch (Exception ex) { this.Logger.Log(TraceEventType.Error, LoggingMessageId.DatabaseCacheMessage, string.Format("Error in {0}: Message {1}", LogMethodName, ex.ToString())); } this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Exit " + LogMethodName); return(null); }
/// <summary> /// Gets the service cache objects. /// </summary> /// <param name="cacheObjectType">Type of the cache object.</param> /// <param name="serviceCacheRequestParameters">The service cache request parameters.</param> /// <returns>returns List of cache data.</returns> public object GetServiceCacheObjects(ServiceCacheObjectType cacheObjectType, ServiceCacheRequestParameters serviceCacheRequestParameters) { if (cacheObjectType == ServiceCacheObjectType.TvEngData) { return(this.GetIncumbents(serviceCacheRequestParameters)); } if (cacheObjectType == ServiceCacheObjectType.LPAUX) { return(this.GetLPAuxRegistrations(serviceCacheRequestParameters)); } if (cacheObjectType == ServiceCacheObjectType.RegionPolygons) { this.FillRegionPolygonsCache(); return(regionPolygonsCache); } return(null); }
/// <summary> /// Gets the incumbents. /// </summary> /// <param name="requestParameters">The request parameters.</param> /// <returns>returns Incumbent[][].</returns> private Incumbent[] GetIncumbents(ServiceCacheRequestParameters requestParameters) { const string LogMethodName = "FCCServiceCacheHelper.GetIncumbents"; List <Incumbent> incumbents = new List <Incumbent>(); this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Enter " + LogMethodName); try { var squareArea = requestParameters.SearchArea; this.LoadCacheData <CacheObjectTvEngdata>(ServiceCacheObjectType.TvEngData); if (tvengCache != null) { IEnumerable <CacheObjectTvEngdata> engDataList = tvengCache.Where(p => (p.Latitude <= squareArea.TopLeftPoint.Latitude && p.Latitude >= squareArea.BottomRightPoint.Latitude && p.Longitude <= squareArea.BottomRightPoint.Longitude && p.Longitude >= squareArea.TopLeftPoint.Longitude)); foreach (CacheObjectTvEngdata engData in engDataList) { Incumbent incumbent = new Incumbent(); incumbent.Channel = engData.Channel; incumbent.CallSign = engData.CallSign; incumbent.Latitude = engData.Latitude; incumbent.Longitude = engData.Longitude; incumbent.Contour = engData.Contour; incumbent.VsdService = engData.VsdService; incumbents.Add(incumbent); } } } catch (Exception ex) { this.Logger.Log(TraceEventType.Error, LoggingMessageId.DatabaseCacheMessage, string.Format("Error in {0}: Message {1}", LogMethodName, ex.ToString())); } this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Exit " + LogMethodName); return(incumbents.ToArray()); }
/// <summary> /// Gets the LPAUX registrations. /// </summary> /// <param name="requestParameters">The request parameters.</param> /// <returns>returns Incumbent[].</returns> private List <LPAuxRegistration> GetLPAuxRegistrations(ServiceCacheRequestParameters requestParameters) { const string LogMethodName = "FCCServiceCacheHelper.GetLPAuxRegistrations"; this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Enter " + LogMethodName); try { if (lpauxCache == null) { this.FillLpAuxCache(); } return(lpauxCache.ToList()); } catch (Exception ex) { this.Logger.Log(TraceEventType.Error, LoggingMessageId.DatabaseCacheMessage, string.Format("Error in {0}: Message {1}", LogMethodName, ex.ToString())); } this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Exit " + LogMethodName); return(null); }
/// <summary> /// Searches the cache objects. /// </summary> /// <param name="cacheObjectType">Type of the cache object.</param> /// <param name="searchCacheRequestType">Type of the search cache request.</param> /// <param name="serviceCacheRequestParameters">The service cache request parameters.</param> /// <returns>returns System.Object.</returns> public object SearchCacheObjects(ServiceCacheObjectType cacheObjectType, SearchCacheRequestType searchCacheRequestType, ServiceCacheRequestParameters serviceCacheRequestParameters) { const string LogMethodName = "PortalServiceCacheHelper.SearchCacheObjects"; this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Enter " + LogMethodName); object results = null; try { if (cacheObjectType == ServiceCacheObjectType.RegionPolygons) { this.FillRegionPolygonsCacheDictionary(); results = regionPolygonsCacheDictionary; } } catch (Exception ex) { this.Logger.Log(TraceEventType.Error, LoggingMessageId.DatabaseCacheMessage, ex.ToString()); } this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Exit " + LogMethodName); return(results); }
/// <summary> /// Searches the cache objects. /// </summary> /// <param name="cacheObjectType">Type of the cache object.</param> /// <param name="searchCacheRequestType">Type of the search cache request.</param> /// <param name="serviceCacheRequestParameters">The service cache request parameters.</param> /// <returns>returns System.Object.</returns> public object SearchCacheObjects(ServiceCacheObjectType cacheObjectType, SearchCacheRequestType searchCacheRequestType, ServiceCacheRequestParameters serviceCacheRequestParameters) { const string LogMethodName = "FCCServiceCacheHelper.SearchCacheObjects"; List <Incumbent> incumbents = new List <Incumbent>(); this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Enter " + LogMethodName); object results = null; try { if (cacheObjectType == ServiceCacheObjectType.TvEngData) { this.LoadCacheData <CacheObjectTvEngdata>(ServiceCacheObjectType.TvEngData); if (((int)searchCacheRequestType & (int)SearchCacheRequestType.ByCallSign) == (int)SearchCacheRequestType.ByCallSign) { results = tvengCache.Where(obj => obj.CallSign == serviceCacheRequestParameters.CallSign).ToList(); } else if (((int)searchCacheRequestType & (int)SearchCacheRequestType.ByVsdService) == (int)SearchCacheRequestType.ByVsdService) { results = tvengCache.Where(obj => obj.VsdService == serviceCacheRequestParameters.VsdService); } } else if (cacheObjectType == ServiceCacheObjectType.LPAUX) { this.LoadCacheData <LPAuxRegistration>(ServiceCacheObjectType.LPAUX); if (((int)searchCacheRequestType & (int)SearchCacheRequestType.None) == (int)SearchCacheRequestType.None) { results = lpauxCache; } } else if (cacheObjectType == ServiceCacheObjectType.RegionPolygons) { this.LoadCacheData <RegionPolygonsCache>(ServiceCacheObjectType.RegionPolygons); results = regionPolygonsCache; } } catch (Exception ex) { this.Logger.Log(TraceEventType.Error, LoggingMessageId.DatabaseCacheMessage, string.Format("Error in {0}: Message {1}", LogMethodName, ex.ToString())); } this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Exit " + LogMethodName); return(results); }
/// <summary> /// Searches the cache objects. /// </summary> /// <param name="cacheObjectType">Type of the cache object.</param> /// <param name="searchCacheRequestType">Type of the search cache request.</param> /// <param name="serviceCacheRequestParameters">The service cache request parameters.</param> /// <returns>returns System.Object.</returns> public object SearchCacheObjects(ServiceCacheObjectType cacheObjectType, SearchCacheRequestType searchCacheRequestType, ServiceCacheRequestParameters serviceCacheRequestParameters) { const string LogMethodName = "OFCOMServiceCacheHelper.SearchCacheObjects"; this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Enter " + LogMethodName); object results = null; try { this.LoadCacheData <PmseAssignment>(ServiceCacheObjectType.PMSEAssignment); if (((int)searchCacheRequestType & (int)SearchCacheRequestType.ByEastingNorthing) == (int)SearchCacheRequestType.ByEastingNorthing) { results = pmseAssignmentCache.Where(obj => obj.Easting == serviceCacheRequestParameters.Easting && obj.Northing == serviceCacheRequestParameters.Northing); } } catch (Exception ex) { this.Logger.Log(TraceEventType.Error, LoggingMessageId.DatabaseCacheMessage, string.Format("Error in {0}: Message {1}", LogMethodName, ex.ToString())); } this.Logger.Log(TraceEventType.Information, LoggingMessageId.DatabaseCacheMessage, "Exit " + LogMethodName); return(results); }