From fdc6f624413395117c71dfa0c31facd0fd735812 Mon Sep 17 00:00:00 2001 From: Alex <78383757+Lextical@users.noreply.github.com> Date: Tue, 7 Apr 2026 00:27:17 -0600 Subject: [PATCH] fixed pet DTO and how it interacts with new backend --- .../petstoremobile/adapters/PetAdapter.java | 8 +++---- .../example/petstoremobile/dtos/PetDTO.java | 22 ++++++++++++++++--- .../detailfragments/PetDetailFragment.java | 10 ++++++--- .../PetProfileFragment.java | 7 +++--- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/android/app/src/main/java/com/example/petstoremobile/adapters/PetAdapter.java b/android/app/src/main/java/com/example/petstoremobile/adapters/PetAdapter.java index 35c323eb..668f8f30 100644 --- a/android/app/src/main/java/com/example/petstoremobile/adapters/PetAdapter.java +++ b/android/app/src/main/java/com/example/petstoremobile/adapters/PetAdapter.java @@ -74,11 +74,11 @@ public class PetAdapter extends RecyclerView.Adapter { holder.tvPetSpeciesBreed.setText(pet.getPetSpecies() + " - " + pet.getPetBreed()); holder.tvPetAge.setText("Age: " + pet.getPetAge() + " yr(s)"); - try { - double price = Double.parseDouble(pet.getPetPrice()); + Double price = pet.getPetPrice(); + if (price != null) { holder.tvPetPrice.setText("$" + String.format("%.2f", price)); - } catch (Exception e) { - holder.tvPetPrice.setText("$" + pet.getPetPrice()); + } else { + holder.tvPetPrice.setText("$0.00"); } holder.tvPetStatus.setText(pet.getPetStatus()); diff --git a/android/app/src/main/java/com/example/petstoremobile/dtos/PetDTO.java b/android/app/src/main/java/com/example/petstoremobile/dtos/PetDTO.java index d76a8509..0e9a0b3f 100644 --- a/android/app/src/main/java/com/example/petstoremobile/dtos/PetDTO.java +++ b/android/app/src/main/java/com/example/petstoremobile/dtos/PetDTO.java @@ -7,9 +7,13 @@ public class PetDTO { private String petBreed; private Integer petAge; private String petStatus; - private String petPrice; + private Double petPrice; private String createdAt; private String updatedAt; + private Long customerId; + private String customerName; + private Long storeId; + private String storeName; public Long getPetId() { return petId; } public void setPetId(Long petId) { this.petId = petId; } @@ -29,12 +33,24 @@ public class PetDTO { public String getPetStatus() { return petStatus; } public void setPetStatus(String petStatus) { this.petStatus = petStatus; } - public String getPetPrice() { return petPrice; } - public void setPetPrice(String petPrice) { this.petPrice = petPrice; } + public Double getPetPrice() { return petPrice; } + public void setPetPrice(Double petPrice) { this.petPrice = petPrice; } public String getCreatedAt() { return createdAt; } public void setCreatedAt(String createdAt) { this.createdAt = createdAt; } public String getUpdatedAt() { return updatedAt; } public void setUpdatedAt(String updatedAt) { this.updatedAt = updatedAt; } + + public Long getCustomerId() { return customerId; } + public void setCustomerId(Long customerId) { this.customerId = customerId; } + + public String getCustomerName() { return customerName; } + public void setCustomerName(String customerName) { this.customerName = customerName; } + + public Long getStoreId() { return storeId; } + public void setStoreId(Long storeId) { this.storeId = storeId; } + + public String getStoreName() { return storeName; } + public void setStoreName(String storeName) { this.storeName = storeName; } } diff --git a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/PetDetailFragment.java b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/PetDetailFragment.java index eb34869c..57c0ac18 100644 --- a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/PetDetailFragment.java +++ b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/detailfragments/PetDetailFragment.java @@ -23,6 +23,8 @@ import com.example.petstoremobile.utils.Resource; import com.example.petstoremobile.utils.SpinnerUtils; import com.example.petstoremobile.viewmodels.PetViewModel; +import java.util.Locale; + import dagger.hilt.android.AndroidEntryPoint; /** @@ -85,7 +87,7 @@ public class PetDetailFragment extends Fragment { String species = binding.etPetSpecies.getText().toString().trim(); String breed = binding.etPetBreed.getText().toString().trim(); int age = Integer.parseInt(binding.etPetAge.getText().toString().trim()); - String priceStr = binding.etPetPrice.getText().toString().trim(); + double price = Double.parseDouble(binding.etPetPrice.getText().toString().trim()); String status = binding.spinnerPetStatus.getSelectedItem().toString(); //create a pet object to send to the API @@ -94,7 +96,7 @@ public class PetDetailFragment extends Fragment { petDTO.setPetSpecies(species); petDTO.setPetBreed(breed); petDTO.setPetAge(age); - petDTO.setPetPrice(priceStr); + petDTO.setPetPrice(price); petDTO.setPetStatus(status); //check if the pet is being edited or added @@ -191,7 +193,9 @@ public class PetDetailFragment extends Fragment { binding.etPetSpecies.setText(p.getPetSpecies()); binding.etPetBreed.setText(p.getPetBreed()); binding.etPetAge.setText(String.valueOf(p.getPetAge())); - binding.etPetPrice.setText(p.getPetPrice()); + if (p.getPetPrice() != null) { + binding.etPetPrice.setText(String.format(Locale.getDefault(), "%.2f", p.getPetPrice())); + } SpinnerUtils.setSelectionByValue(binding.spinnerPetStatus, p.getPetStatus()); } else if (resource.status == Resource.Status.ERROR) { Toast.makeText(getContext(), "Failed to load pet: " + resource.message, Toast.LENGTH_SHORT).show(); diff --git a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/listprofilefragments/PetProfileFragment.java b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/listprofilefragments/PetProfileFragment.java index 69391412..68fb3eec 100644 --- a/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/listprofilefragments/PetProfileFragment.java +++ b/android/app/src/main/java/com/example/petstoremobile/fragments/listfragments/listprofilefragments/PetProfileFragment.java @@ -124,9 +124,10 @@ public class PetProfileFragment extends Fragment { binding.tvPetSpecies.setText(pet.getPetSpecies()); binding.tvPetBreed.setText(pet.getPetBreed()); binding.tvPetAge.setText(String.format(Locale.getDefault(), "%d yr(s)", pet.getPetAge())); - try { - binding.tvPetPrice.setText(String.format(Locale.getDefault(), "$%.2f", Double.parseDouble(pet.getPetPrice()))); - } catch (Exception e) { + + if (pet.getPetPrice() != null) { + binding.tvPetPrice.setText(String.format(Locale.getDefault(), "$%.2f", pet.getPetPrice())); + } else { binding.tvPetPrice.setText("$0.00"); } } else if (resource.status == Resource.Status.ERROR) {