public async Task DeleteContact()
        {
            try
            {
                String username = logged.getUsername();
                String number   = selectedContact.number;
                using (var client = new HttpClient())
                {
                    var content = new FormUrlEncodedContent(new Dictionary <string, string>
                    {
                        { "username", username },
                        { "number", number }
                    });
                    var response = await client.PostAsync(url_remove_contact, content);

                    if (response != null)
                    {
                        var jsonString = await response.Content.ReadAsStringAsync();

                        Message data = new Message();
                        data = JsonConvert.DeserializeObject <Message>(jsonString);
                        int suc = data.success;

                        if (suc == 1)
                        {
                            //contact was successfully deleted
                            //now delete it from object
                            logged.deleteContact(selectedContact);
                            //serialize logged again since it has been changed
                            String userJsonString = JsonConvert.SerializeObject(logged, Formatting.Indented);
                            var    page           = new LandingPage(userJsonString);
                            await Navigation.PushAsync(page);
                        }
                        else
                        {
                            MessageLabel.Text = data.message;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // myCustomLogger.LogException(ex);
            }
        }
Beispiel #2
0
        public async Task CheckPass()
        {
            username = userEntry.Text;
            password = passEntry.Text;
            User logged;

            try
            {
                using (var client = new HttpClient())
                {
                    //client.BaseAddress = new Uri(url_check_pass);
                    var params1 = new List <KeyValuePair <string, string> >();
                    params1.Add(new KeyValuePair <string, string>("username", username));
                    params1.Add(new KeyValuePair <string, string>("password", password));
                    //var content = new StringContent(jsonObject.ToString(), Encoding.UTF8, "application/json");
                    // var content = new StringContent(params1.ToString(), Encoding.UTF8, "application/json");
                    var content = new FormUrlEncodedContent(new Dictionary <string, string>
                    {
                        { "username", username },
                        { "password", password }
                    });
                    var response = await client.PostAsync(url_check_pass, content);

                    if (response != null)
                    {
                        var jsonString = await response.Content.ReadAsStringAsync();

                        // resultLabel.Text = jsonString;
                        //dynamic data = JObject.Parse(jsonString);
                        Message data = new Message();
                        data = JsonConvert.DeserializeObject <Message>(jsonString);
                        int suc = data.success;
                        //resultLabel.Text = data.contacts.ToString();

                        if (suc == 1)
                        {
                            //retrieve contacts api call
                            var content2 = new FormUrlEncodedContent(new Dictionary <string, string>
                            {
                                { "username", username }
                            });
                            var response2 = await client.PostAsync(url_retrieve_contacts, content2);

                            if (response2 != null) //found contacts
                            {
                                var jsonString2 = await response2.Content.ReadAsStringAsync();

                                List <Contact> contacts = JsonConvert.DeserializeObject <List <Contact> >(jsonString2);
                                //resultLabel.Text = contacts[0].name;
                                logged = new User(username, data.first, data.last, contacts);
                            }
                            else //no contacts in db
                            {
                                List <Contact> noContacts = new List <Contact>();
                                logged = new User(username, data.first, data.last, noContacts);
                            }

                            //serialize User
                            String userJson = JsonConvert.SerializeObject(logged, Formatting.Indented);
                            //change page

                            var page = new LandingPage(userJson);
                            await Navigation.PushAsync(page);
                        }
                        else
                        {
                            resultLabel.Text = data.message;
                        }
                        //JSON json1 =  JsonConvert.DeserializeObject<object>(jsonString);
                    }
                }
            }
            catch (Exception ex)
            {
                // myCustomLogger.LogException(ex);
            }
        }