private async Task CreateAccountAsync() { using (var client = new HttpClient()) { var baseUri = new Uri("http://robobatapp.azurewebsites.net/api/Users/create"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var theContent = new StringContent("{\"Username\":\"" + _etUsername.Text + "\", \"Password\":\"" + _etPassword.Text + "\"}", Encoding.UTF8, "application/json"); var result = await client.PostAsync(baseUri, theContent); var contents = await result.Content.ReadAsStringAsync(); //TODO: Error handling on wrong create account attempt //TODO: Need to pull all this out to be able to test var user = new LoggedInUser(); var o = JObject.Parse(contents); user.Username = _etUsername.Text; user.Token = "" + o["token"]; await BlobCache.UserAccount.InsertObject("loggedInUser", user); await UpdateCurrentUser(); Console.WriteLine(contents); } }
private async Task LoginAsync() { //TODO pull out as helper method since this is correct and working. Contents contains raw Json which can be parsed. using (var client = new HttpClient()) { var baseUri = new Uri("http://robobatapp.azurewebsites.net/api/Users/login"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); StringContent theContent = new StringContent("{\"Username\":\"robo\", \"Password\":\"hello\"}", Encoding.UTF8, "application/json"); var result = await client.PostAsync(baseUri, theContent); var contents = await result.Content.ReadAsStringAsync(); LoggedInUser user = new LoggedInUser(); JObject o = JObject.Parse(contents); user.Username = ""+o["user"]; user.Token = "" + o["token"]; user.Expiration = DateTime.Parse(""+o["Expiration"]); user.IsExpired = user.Expiration < DateTime.Now; await BlobCache.UserAccount.InsertObject("loggedInUser", user); await UpdateCurrentUser(); Console.WriteLine("I reached here 1"); } var myclient = new HttpClient(); var validToken = ""; var currentUser = await BlobCache.UserAccount.GetObject<LoggedInUser>("loggedInUser"); if (currentUser?.Username != null) { //TODO Handle Expired Token validToken = currentUser.Token; } else { //TODO Handle intital signin } //try //{ // var response = // await myclient.GetStringAsync("http://robobatapp.azurewebsites.net/api/tvshows?token=" + validToken); // //response.EnsureSuccessStatusCode(); // //var result = response.Content.ReadAsStringAsync(); //} //catch (Exception e) //{ // Console.WriteLine(e.Message); //} Console.WriteLine("I reached here 2"); }