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));
        }
示例#2
0
        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");
        }