/// <summary>
        /// Get IotConnect Base URL.
        /// </summary>
        /// <param name="discoveryURL">IotConnect Discovery URL</param>
        /// <param name="environment">IotConnect Environment</param>
        /// <param name="solutionKey">IotConnect Solution Unique Key</param>
        /// <param name="urlType">IotConnect Base URL Types (Auth, User, Device, Telemetry)</param>
        /// <returns></returns>
        public async Task <string> GetIoTConnectBaseURL(string discoveryURL, string environment, string solutionKey, IoTConnectBaseURLType urlType)
        {
            string response = string.Empty;

            if (_ioTConnectAPIEndPoints == null)
            {
                _ioTConnectAPIEndPoints = new List <IoTConnectAPIEndPointResult>();
            }

            var ioTConnectEndpoints = _ioTConnectAPIEndPoints
                                      .Where(x => string.Equals(x.SolutionKey, solutionKey, StringComparison.OrdinalIgnoreCase) && string.Equals(x.Environment, environment, StringComparison.OrdinalIgnoreCase))
                                      .Select(x => x.IoTConnectEndpoints).FirstOrDefault();

            if (ioTConnectEndpoints != null)
            {
                response = Convert.ToString(ioTConnectEndpoints.GetPropertyValue(urlType.ToString()));
            }

            if (string.IsNullOrWhiteSpace(response))
            {
                var discoveryDetail = await GetAPIEndPoints(discoveryURL, environment, solutionKey);

                if (discoveryDetail != null)
                {
                    IoTConnectAPIEndPointResult data = new IoTConnectAPIEndPointResult
                    {
                        SolutionKey         = solutionKey,
                        Environment         = environment,
                        IoTConnectEndpoints = discoveryDetail.IoTConnectEndpoints
                    };

                    _ioTConnectAPIEndPoints.Add(data);

                    response = Convert.ToString(discoveryDetail.IoTConnectEndpoints.GetPropertyValue(urlType.ToString()));
                }
            }

            if (!string.IsNullOrWhiteSpace(response))
            {
                return(response);
            }
            else
            {
                //Business.CustomErrorMessage($"No IoTConnect API Discovery URL found for IoTConnectBaseURLType:{urlType}");
            }

            return(null);
        }
        /// <summary>
        /// Get IotConnect Portal Url.
        /// </summary>
        /// <param name="environmentCode">IoTConnect Environment Code</param>
        /// <param name="solutionKey">IotConnect Solution Unique Key</param>
        /// <param name="baseUrlType">IotConnect Base URL Types (Auth, User, Device, Telemetry)</param>
        /// <returns></returns>
        public async Task <string> GetPortalUrl(string environmentCode, string solutionKey, IoTConnectBaseURLType baseUrlType)
        {
            var url = await GetIoTConnectBaseURL(Constants.discoveryUrl, environmentCode, solutionKey, baseUrlType);

            return(url?.Replace("api/v1.1", ""));
        }