fixed pet DTO and how it interacts with new backend

This commit is contained in:
Alex
2026-04-07 00:27:17 -06:00
parent 5a1ff67db4
commit 5cb625a710
4 changed files with 34 additions and 13 deletions

View File

@@ -74,11 +74,11 @@ public class PetAdapter extends RecyclerView.Adapter<PetAdapter.PetViewHolder> {
holder.tvPetSpeciesBreed.setText(pet.getPetSpecies() + " - " + pet.getPetBreed()); holder.tvPetSpeciesBreed.setText(pet.getPetSpecies() + " - " + pet.getPetBreed());
holder.tvPetAge.setText("Age: " + pet.getPetAge() + " yr(s)"); holder.tvPetAge.setText("Age: " + pet.getPetAge() + " yr(s)");
try { Double price = pet.getPetPrice();
double price = Double.parseDouble(pet.getPetPrice()); if (price != null) {
holder.tvPetPrice.setText("$" + String.format("%.2f", price)); holder.tvPetPrice.setText("$" + String.format("%.2f", price));
} catch (Exception e) { } else {
holder.tvPetPrice.setText("$" + pet.getPetPrice()); holder.tvPetPrice.setText("$0.00");
} }
holder.tvPetStatus.setText(pet.getPetStatus()); holder.tvPetStatus.setText(pet.getPetStatus());

View File

@@ -7,9 +7,13 @@ public class PetDTO {
private String petBreed; private String petBreed;
private Integer petAge; private Integer petAge;
private String petStatus; private String petStatus;
private String petPrice; private Double petPrice;
private String createdAt; private String createdAt;
private String updatedAt; private String updatedAt;
private Long customerId;
private String customerName;
private Long storeId;
private String storeName;
public Long getPetId() { return petId; } public Long getPetId() { return petId; }
public void setPetId(Long petId) { this.petId = petId; } public void setPetId(Long petId) { this.petId = petId; }
@@ -29,12 +33,24 @@ public class PetDTO {
public String getPetStatus() { return petStatus; } public String getPetStatus() { return petStatus; }
public void setPetStatus(String petStatus) { this.petStatus = petStatus; } public void setPetStatus(String petStatus) { this.petStatus = petStatus; }
public String getPetPrice() { return petPrice; } public Double getPetPrice() { return petPrice; }
public void setPetPrice(String petPrice) { this.petPrice = petPrice; } public void setPetPrice(Double petPrice) { this.petPrice = petPrice; }
public String getCreatedAt() { return createdAt; } public String getCreatedAt() { return createdAt; }
public void setCreatedAt(String createdAt) { this.createdAt = createdAt; } public void setCreatedAt(String createdAt) { this.createdAt = createdAt; }
public String getUpdatedAt() { return updatedAt; } public String getUpdatedAt() { return updatedAt; }
public void setUpdatedAt(String updatedAt) { this.updatedAt = 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; }
} }

View File

@@ -23,6 +23,8 @@ import com.example.petstoremobile.utils.Resource;
import com.example.petstoremobile.utils.SpinnerUtils; import com.example.petstoremobile.utils.SpinnerUtils;
import com.example.petstoremobile.viewmodels.PetViewModel; import com.example.petstoremobile.viewmodels.PetViewModel;
import java.util.Locale;
import dagger.hilt.android.AndroidEntryPoint; import dagger.hilt.android.AndroidEntryPoint;
/** /**
@@ -85,7 +87,7 @@ public class PetDetailFragment extends Fragment {
String species = binding.etPetSpecies.getText().toString().trim(); String species = binding.etPetSpecies.getText().toString().trim();
String breed = binding.etPetBreed.getText().toString().trim(); String breed = binding.etPetBreed.getText().toString().trim();
int age = Integer.parseInt(binding.etPetAge.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(); String status = binding.spinnerPetStatus.getSelectedItem().toString();
//create a pet object to send to the API //create a pet object to send to the API
@@ -94,7 +96,7 @@ public class PetDetailFragment extends Fragment {
petDTO.setPetSpecies(species); petDTO.setPetSpecies(species);
petDTO.setPetBreed(breed); petDTO.setPetBreed(breed);
petDTO.setPetAge(age); petDTO.setPetAge(age);
petDTO.setPetPrice(priceStr); petDTO.setPetPrice(price);
petDTO.setPetStatus(status); petDTO.setPetStatus(status);
//check if the pet is being edited or added //check if the pet is being edited or added
@@ -191,7 +193,9 @@ public class PetDetailFragment extends Fragment {
binding.etPetSpecies.setText(p.getPetSpecies()); binding.etPetSpecies.setText(p.getPetSpecies());
binding.etPetBreed.setText(p.getPetBreed()); binding.etPetBreed.setText(p.getPetBreed());
binding.etPetAge.setText(String.valueOf(p.getPetAge())); 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()); SpinnerUtils.setSelectionByValue(binding.spinnerPetStatus, p.getPetStatus());
} else if (resource.status == Resource.Status.ERROR) { } else if (resource.status == Resource.Status.ERROR) {
Toast.makeText(getContext(), "Failed to load pet: " + resource.message, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), "Failed to load pet: " + resource.message, Toast.LENGTH_SHORT).show();

View File

@@ -124,9 +124,10 @@ public class PetProfileFragment extends Fragment {
binding.tvPetSpecies.setText(pet.getPetSpecies()); binding.tvPetSpecies.setText(pet.getPetSpecies());
binding.tvPetBreed.setText(pet.getPetBreed()); binding.tvPetBreed.setText(pet.getPetBreed());
binding.tvPetAge.setText(String.format(Locale.getDefault(), "%d yr(s)", pet.getPetAge())); 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()))); if (pet.getPetPrice() != null) {
} catch (Exception e) { binding.tvPetPrice.setText(String.format(Locale.getDefault(), "$%.2f", pet.getPetPrice()));
} else {
binding.tvPetPrice.setText("$0.00"); binding.tvPetPrice.setText("$0.00");
} }
} else if (resource.status == Resource.Status.ERROR) { } else if (resource.status == Resource.Status.ERROR) {