Esempio n. 1
0
        public async Task <string> Logout()
        {
            string result;
            string apiURL = baseURL + "/api/logout/" + userID;
            Uri    url    = new Uri(apiURL);

            JsonProcessor jsonProc = new JsonProcessor();
            var           _data    = new {
                token = token
            };
            StringContent data = jsonProc.ParseJson(_data);

            try {
                using (var httpClient = new HttpClient()) {
                    httpClient.DefaultRequestHeaders.Add("ContentType", "application/json");
                    httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);

                    var response = await httpClient.PostAsync(url, data).ConfigureAwait(false);

                    result = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                    httpClient.Dispose();
                }
            } catch (Exception) {
                return("error-connection");
            }

            var  json      = JsonConvert.DeserializeObject <Dictionary <string, object> >(result);
            bool isSuccess = json.ContainsKey("success");

            return(isSuccess ? "no-error" : "error-connection");
        }
Esempio n. 2
0
        public async Task <string> GetInformation(string token)
        {
            string result;
            string apiURL = baseURL + "/api/user-info";
            Uri    url    = new Uri(apiURL);

            JsonProcessor jsonProc = new JsonProcessor();
            var           _data    = new {
                token = token
            };
            StringContent data = jsonProc.ParseJson(_data);

            try {
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Add("ContentType", "application/json");
                    httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);

                    var response = await httpClient.PostAsync(url, data).ConfigureAwait(false);

                    result = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                    httpClient.Dispose();
                }
            } catch (Exception) {
                result = "error-connection";
            }

            return(result);
        }
Esempio n. 3
0
        public async Task <string> StoreSentMessages(string token, List <string> logs, string message)
        {
            string result;
            string messageLogs = string.Join(",", logs);
            string apiURL      = baseURL + "/api/store-sent-msgs";
            Uri    url         = new Uri(apiURL);

            JsonProcessor jsonProc = new JsonProcessor();
            var           _data    = new {
                token        = token,
                message_logs = messageLogs,
                message      = message
            };
            StringContent data = jsonProc.ParseJson(_data);

            try {
                using (var httpClient = new HttpClient()) {
                    httpClient.DefaultRequestHeaders.Add("ContentType", "application/json");
                    httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);

                    var response = await httpClient.PostAsync(url, data).ConfigureAwait(false);

                    result = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                    httpClient.Dispose();
                }
            } catch (Exception) {
                result = "error-connection";
            }

            var  json      = JsonConvert.DeserializeObject <Dictionary <string, object> >(result);
            bool isSuccess = json.ContainsKey("success");

            if (isSuccess)
            {
                result = "no-error";
            }
            else
            {
                result = "error-connection";
            }

            return(result);
        }
Esempio n. 4
0
        public async Task <string> Login(string username, string password)
        {
            string result;
            string apiURL = baseURL + "/api/login";
            Uri    url    = new Uri(apiURL);

            JsonProcessor jsonProc = new JsonProcessor();
            var           _data    = new {
                login    = username,
                password = password
            };
            StringContent data = jsonProc.ParseJson(_data);

            try {
                using (var httpClient = new HttpClient()) {
                    httpClient.DefaultRequestHeaders.Add("ContentType", "application/json");

                    var    authCredentials = System.Text.Encoding.ASCII.GetBytes($"{ username }:{password}");
                    string encodedAuth     = System.Convert.ToBase64String(authCredentials);
                    httpClient.DefaultRequestHeaders.Add("Authorization", "Basic " + encodedAuth);

                    var response = await httpClient.PostAsync(url, data).ConfigureAwait(false);

                    result = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                    httpClient.Dispose();
                }
            } catch (Exception) {
                return("error-connection");
            }

            var  json      = JsonConvert.DeserializeObject <Dictionary <string, object> >(result);
            bool isSuccess = json.ContainsKey("success");

            if (isSuccess)
            {
                string successVal  = json["success"].ToString();
                var    jsonSuccess = JsonConvert.DeserializeObject <Dictionary <string, object> >(successVal);
                string token       = jsonSuccess["token"].ToString();

                string userResult = await GetInformation(token);

                if (userResult != "error-connection")
                {
                    var  jsonUser      = JsonConvert.DeserializeObject <Dictionary <string, object> >(userResult);
                    bool isUserSuccess = jsonUser.ContainsKey("success");

                    this.Token = token;

                    if (isUserSuccess)
                    {
                        successVal  = jsonUser["success"].ToString();
                        jsonSuccess = JsonConvert.DeserializeObject <Dictionary <string, object> >(successVal);

                        int    usrID        = int.Parse(jsonSuccess["id"].ToString());
                        string usrFirstname = jsonSuccess["first_name"].ToString();
                        string usrLastname  = jsonSuccess["last_name"].ToString();
                        string usrUsername  = jsonSuccess["username"].ToString();

                        this.Id        = usrID;
                        this.Firstname = usrFirstname;
                        this.Lastname  = usrLastname;
                        this.Username  = usrUsername;
                        this.HasError  = false;
                    }
                    else
                    {
                        return("error-credentials");
                    }
                }
                else
                {
                    return("error-connection");
                }
            }
            else
            {
                return("error-credentials");
            }

            return("no-error");
        }