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); } }
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); } }