public async void editProfile(MyList <MyFile> files, String[] password, ObjectBengkel bengkel, String token) { var client = new ApiClient(ApiConstant.BASE_URL); var request = new ApiRequestBuilder(); var formContent = new MultipartFormDataContent(); formContent.Add(new StringContent(bengkel.name), "name"); formContent.Add(new StringContent(bengkel.phone), "phone_number"); formContent.Add(new StringContent(bengkel.email), "email"); formContent.Add(new StringContent(bengkel.address), "address"); formContent.Add(new StringContent("PUT"), "_method"); if (password[0] != null && password[1] != null) { formContent.Add(new StringContent(password[0]), "oldPassword"); formContent.Add(new StringContent(password[1]), "newPassword"); } if (files.Count > 0) { formContent.Add(new StreamContent(new MemoryStream(files[0].byteArray)), "profile_picture", files[0].fullFileName); } var multiPartRequest = request .buildMultipartRequest(new MultiPartContent(formContent)) .setEndpoint("api/bengkel") .setRequestMethod(HttpMethod.Post); client.setAuthorizationToken(token); client.setOnSuccessRequest(setStatus); var response = await client.sendRequest(request.getApiRequestBundle()); if (response.getHttpResponseMessage().ReasonPhrase.ToString().Equals("Internal Server Error")) { getView().callMethod("setFailStatus", "Failed to edit profile"); } else if (response.getHttpResponseMessage().ReasonPhrase.ToString().Equals("Unauthorized")) { getView().callMethod("setFailStatus", "Old password doesn't match "); } }
public void onUpdateButtonClick() { MessageBoxResult result; if (!nameTxtBox.getText().Equals("") && !phoneTxtBox.getText().Equals("") && !emailTxtBox.getText().Equals("") && !addressTxtBox.getText().Equals("")) { String phoneNumber = "62" + phoneTxtBox.getText(); ObjectBengkel newBengkel = new ObjectBengkel(nameTxtBox.getText(), phoneNumber, emailTxtBox.getText(), addressTxtBox.getText()); String token = File.ReadAllText(@"userToken.txt"); String[] password = new String[2]; if (!newPass.getPassword().ToString().Equals("")) { password[0] = oldPass.getPassword(); password[1] = newPass.getPassword(); } getController().callMethod("editProfile", uploadImage, password, newBengkel, token); } else { result = MessageBox.Show("All field must be filled !", "Failed", MessageBoxButton.OK, MessageBoxImage.Error); } }