private async void TryChange(object sender, EventArgs e) { var apiclient = new ApiClient(); if (!ValidatePassword(PasswordEntry.Text)) { await MaterialDialog.Instance.AlertAsync(message : "Password has to contain a letter, number and be at least 8 characters long"); return; } if (!PasswordEntry.Text.Equals(PasswordEntryRepetition.Text)) { await MaterialDialog.Instance.AlertAsync(message : "Passwords are not the same"); return; } var request = new PasswordRequest { Id = Client.Id, NewPassword = PasswordEntry.Text, OldPassword = string.Empty }; var client = apiclient.PostNewPassword(request); await MaterialDialog.Instance.AlertAsync(message : client.Password); await Navigation.PushAsync(new Main(client)); }
public Client PostNewPassword(PasswordRequest passwordRequest) { var client = new RestClient($"https://tavisapi.azurewebsites.net/api/Clients/{passwordRequest.Id}/SetPassword"); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddJsonBody(passwordRequest); var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { var distance = JsonConvert.DeserializeObject <Client>(response.Content); return(distance); } throw new Exception("Failed to fetch trips by client id"); }