Amazon.Runtime.Internal.ClientContext.ToJsonString C# (CSharp) Method

ToJsonString() public method

Gets a Json Representation of the Client Context.
public ToJsonString ( ) : String
return String
        public String ToJsonString()
        {
            lock(_lock)
            {
                _client = new Dictionary<string, string>();
                _env = new Dictionary<string, string>();
                _services = new Dictionary<string, IDictionary>();

#if PCL || UNITY
                 // client
                _client.Add(CLIENT_ID_KEY, _clientID);
                _client.Add(CLIENT_APP_TITLE_KEY, _appInfo.AppTitle);
                _client.Add(CLIENT_APP_VERSION_NAME_KEY, _appInfo.AppVersionName);
                _client.Add(CLIENT_APP_VERSION_CODE_KEY, _appInfo.AppVersionCode);
                _client.Add(CLIENT_APP_PACKAGE_NAME_KEY, _appInfo.PackageName);

                // env
                _env.Add(ENV_PLATFORM_KEY, _envInfo.Platform);
                _env.Add(ENV_PLATFORM_VERSION_KEY, _envInfo.PlatformVersion);
                _env.Add(ENV_LOCALE_KEY, _envInfo.Locale);
                _env.Add(ENV_MAKE_KEY, _envInfo.Make);
                _env.Add(ENV_MODEL_KEY, _envInfo.Model);

#elif BCL
                // client
                _client.Add(CLIENT_ID_KEY, _clientID);

                if (!string.IsNullOrEmpty(_config.AppTitle))
                    _client.Add(CLIENT_APP_TITLE_KEY, _config.AppTitle);

                if (!string.IsNullOrEmpty(_config.AppVersionName))
                    _client.Add(CLIENT_APP_VERSION_NAME_KEY, _config.AppVersionName);

                if (!string.IsNullOrEmpty(_config.AppVersionCode))
                    _client.Add(CLIENT_APP_VERSION_CODE_KEY, _config.AppVersionCode);

                if (!string.IsNullOrEmpty(_config.AppPackageName))
                    _client.Add(CLIENT_APP_PACKAGE_NAME_KEY, _config.AppPackageName);


                // env
                if (!string.IsNullOrEmpty(_config.Platform))
                    _env.Add(ENV_PLATFORM_KEY, _config.Platform);
                else
                    _env.Add(ENV_PLATFORM_KEY, Environment.OSVersion.Platform.ToString());

                if (!string.IsNullOrEmpty(_config.PlatformVersion))
                    _env.Add(ENV_PLATFORM_VERSION_KEY, _config.PlatformVersion);
                else
                    _env.Add(ENV_PLATFORM_VERSION_KEY, Environment.OSVersion.Version.ToString());

                if (!string.IsNullOrEmpty(_config.Locale))
                    _env.Add(ENV_LOCALE_KEY, _config.Locale);
                else
                    _env.Add(ENV_LOCALE_KEY, System.Globalization.CultureInfo.CurrentCulture.Name);

                if (!string.IsNullOrEmpty(_config.Make))
                    _env.Add(ENV_MAKE_KEY, _config.Make);

                if (!string.IsNullOrEmpty(_config.Model))
                    _env.Add(ENV_MODEL_KEY, _config.Model);
#endif
                // services
                if (!string.IsNullOrEmpty(this.AppID))
                {
                    IDictionary mobileAnalyticsService = new Dictionary<string, string>();
                    mobileAnalyticsService.Add(SERVICE_MOBILE_ANALYTICS_APP_ID_KEY, AppID);
                    _services.Add(SERVICE_MOBILE_ANALYTICS_KEY, mobileAnalyticsService);
                }

                _clientContext = new Dictionary<string, IDictionary>();
                _clientContext.Add(CLIENT_KEY, _client);
                _clientContext.Add(ENV_KEY, _env);
                _clientContext.Add(CUSTOM_KEY, _custom);
                _clientContext.Add(SERVICES_KEY, _services);

                return JsonMapper.ToJson(_clientContext); 
            
            }
        }
    }