/// <summary>
        /// Get's the usersdata from database
        /// </summary>
        /// <param name="dataType"></param>
        /// <returns></returns>
        private IEnumerator Get_UserData(YUR_CurrentUser.DataType dataType = YUR_CurrentUser.DataType.all)
        {
            YUR_Log.Server_Log("Retrieving UserData");
            if (dataType == YUR_CurrentUser.DataType.all || dataType == YUR_CurrentUser.DataType.biometrics)
            {
                YUR_Log.Server_Log("Retrieving Biometric Data with ID token: " + CurrentUser.loginCredentials.IDtoken);
                string biodata = Systems.Interops.User_AccountAccess.Retrieve_BiometricData(CurrentUser.loginCredentials.IDtoken);
                YUR_Log.Server_Log("Biometric Data: " + biodata);
                yield return(CurrentUser.Data_Biometrics = JsonUtility.FromJson <UserData.Biometrics>(biodata));

                YUR_Log.Server_Log("Biometric data acquired");
            }


            if (dataType == YUR_CurrentUser.DataType.all || dataType == YUR_CurrentUser.DataType.game_calories)
            {
                YUR_Log.Server_Log("Retrieving Game Data with ID token: " + CurrentUser.loginCredentials.IDtoken);
                string gamedata = Systems.Interops.User_AccountAccess.Retrieve_Game_Data(YUR_Main.main.game_ID, CurrentUser.loginCredentials.IDtoken);
                YUR_Log.Server_Log("Game Data: " + gamedata);
                yield return(CurrentUser.Data_Current_Game = Utilities.YUR_Conversions.ConvertStringToObject <UserData.GameData>(gamedata));

                YUR_Log.Server_Log("Game data acquired");
            }


            if (dataType == YUR_CurrentUser.DataType.all || dataType == YUR_CurrentUser.DataType.general_calories)
            {
                YUR_Log.Server_Log("Retrieving Biometric Data with ID token: " + CurrentUser.loginCredentials.IDtoken);
                yield return(CurrentUser.Data_General_Calories = Utilities.YUR_Conversions.ConvertStringToObject <UserData.GeneralCalorieData>(Systems.Interops.User_AccountAccess.Retrieve_General_Calorie_Data(CurrentUser.loginCredentials.IDtoken)));

                YUR_Log.Server_Log("General Calorie data acquired");
            }

            yield break;
        }
        /// <summary>
        /// Updates specified data from database
        /// </summary>
        /// <param name="dataType"></param>
        /// <returns></returns>
        internal IEnumerator Refresh_Token_Set_Data(YUR_CurrentUser.DataType dataType)
        {
            string refreshResponse;

            yield return(refreshResponse = Systems.Interops.User_AccountAuthorization.Retrieve_IDToken(CurrentUser.loginCredentials.IDtoken));

            if (refreshResponse.StartsWith("--1"))
            {
                Bad_Login?.Invoke(refreshResponse);
                yield break;
            }
            YUR_Log.Log("Refresh token worked! Setting all other data");
            yield return(CurrentUser.Convert_Refresh_Login(refreshResponse));

            StartCoroutine(Set_UserData(dataType));
            yield break;
        }
        /// <summary>
        /// Updates the users data in the database from this instance
        /// </summary>
        /// <param name="dataType"></param>
        /// <returns></returns>
        private IEnumerator Set_UserData(YUR_CurrentUser.DataType dataType = YUR_CurrentUser.DataType.all)
        {
            bool   success = true;
            string reponse;

            if (dataType == YUR_CurrentUser.DataType.all || dataType == YUR_CurrentUser.DataType.biometrics)
            {
                string objectAsString;
                yield return(objectAsString = Utilities.YUR_Conversions.ConvertObjectToString(CurrentUser.Data_Biometrics));

                yield return(reponse = Systems.Interops.User_AccountAccess.Set_Biometric_Data(objectAsString, CurrentUser.loginCredentials.IDtoken, out success));

                if (!success)
                {
                    yield return(StartCoroutine(Refresh_Token_Set_Data(YUR_CurrentUser.DataType.biometrics)));
                }
            }

            if (dataType == YUR_CurrentUser.DataType.all || dataType == YUR_CurrentUser.DataType.game_calories)
            {
                string objectAsString;
                yield return(objectAsString = Utilities.YUR_Conversions.ConvertObjectToString(CurrentUser.Data_Current_Game));

                yield return(reponse = Systems.Interops.User_AccountAccess.Set_Game_Data(objectAsString, CurrentUser.loginCredentials.IDtoken, out success));

                if (!success)
                {
                    yield return(StartCoroutine(Refresh_Token_Set_Data(YUR_CurrentUser.DataType.game_calories)));
                }
            }

            if (dataType == YUR_CurrentUser.DataType.all || dataType == YUR_CurrentUser.DataType.general_calories)
            {
                string objectAsString;
                yield return(objectAsString = Utilities.YUR_Conversions.ConvertObjectToString(CurrentUser.Data_Biometrics));

                yield return(reponse = Systems.Interops.User_AccountAccess.Set_Biometric_Data(objectAsString, CurrentUser.loginCredentials.IDtoken, out success));

                if (!success)
                {
                    yield return(StartCoroutine(Refresh_Token_Set_Data(YUR_CurrentUser.DataType.general_calories)));
                }
            }
            yield break;
        }