Esempio n. 1
0
    public IEnumerator CallLogin(string Username, string Password)
    {
        LoginDto loginDto = new LoginDto();

        loginDto.Username = Username;
        loginDto.Password = Password;
        string          jsonString = JsonUtility.ToJson(loginDto);
        UnityWebRequest www        = UnityWebRequest.Put(URL, jsonString);

        www.method = "POST"; // For some reason UnityWebRequest applies URL encoding to POST message payloads. URL encoding the payload is an ASP.NET webform thing.
        // see https://forum.unity.com/threads/unitywebrequest-post-url-jsondata-sending-broken-json.414708/ for more info
        www.SetRequestHeader("Content-Type", "application/json");
        yield return(www.SendWebRequest());

        if (www.error != null)
        {
            byte[]            result            = www.downloadHandler.data;
            string            badRequestJSON    = System.Text.Encoding.Default.GetString(result);
            BadRequestMessage badRequestMessage = JsonUtility.FromJson <BadRequestMessage>(badRequestJSON);
            errorMessage.text = badRequestMessage.message;
        }
        else
        {
            Debug.Log("succes");
            // check the message --> if no users exists message --> clear fields
            // else parse user object from backend
            byte[] result               = www.downloadHandler.data;
            string userJSON             = System.Text.Encoding.Default.GetString(result);
            UserManager.UserDto userDto = JsonUtility.FromJson <UserManager.UserDto>(userJSON);
            UserManager.Instance.User = userDto; // set main user variable in singleton class
            // navigate back to main
            SceneManager.LoadScene(4);
        }
    }
Esempio n. 2
0
    public IEnumerator CallRegister(string Username, string Password, string FirstName, string LastName)
    {
        RegisterDto registerDto = new RegisterDto
        {
            FirstName = FirstName,
            LastName  = LastName,
            Password  = Password,
            Username  = Username
        };
        string jsonString = JsonUtility.ToJson(registerDto);

        Debug.Log(jsonString);
        UnityWebRequest www = UnityWebRequest.Put(URL, jsonString);

        www.method = "POST";
        www.SetRequestHeader("Content-Type", "application/json");
        yield return(www.SendWebRequest());

        if (www.error != null)
        {
            byte[]            result            = www.downloadHandler.data;
            string            badRequestJSON    = System.Text.Encoding.Default.GetString(result);
            BadRequestMessage badRequestMessage = JsonUtility.FromJson <BadRequestMessage>(badRequestJSON);
            ErrorMessage.text = badRequestMessage.message;
        }
        else
        {
            // navigate back to Login scene
            SceneManager.LoadScene(2);
        }
    }
Esempio n. 3
0
        public static async Task <T> Post <T>(object controller, object method, T objectToPost)
        {
            try
            {
                var content = new StringContent(JsonHelper.Serialize(objectToPost), Encoding.UTF8,
                                                "application/json");

                var responseMessage =
                    await _client.PostAsync(controller + $"/{method}", content);

                if (responseMessage.IsSuccessStatusCode)
                {
                    var json = await responseMessage.Content.ReadAsStringAsync();

                    if (!string.IsNullOrEmpty(json))
                    {
                        return(JsonHelper.Deserialize <T>(json));
                    }
                }
                else
                {
                    var json = await responseMessage.Content.ReadAsStringAsync();

                    BadRequestMessage badRequest = JsonHelper.Deserialize <BadRequestMessage>(json);
                    QModernMessageBox.Show(badRequest.Message, "Internal Server Error",
                                           QModernMessageBox.QModernMessageBoxButtons.Ok);
                }

                return(default(T));
            }
            catch (Exception ex)
            {
                throw new InternalServerError(ex);
            }
        }