Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class User implements Serializable {
- // Data
- private String name, uid, mail, address;
- private Long phone;
- private ArrayList<Order> orders;
- private Cart cart;
- public User() {
- orders = new ArrayList<>();
- cart = new Cart();
- }
- /* Getters and Setters for all variables */
- }
- public class Cart {
- // Data
- private ArrayList<SingleOrderItem> cart;
- public Cart() {
- cart = new ArrayList<>();
- }
- /* Getters and Setters for all variables */
- }
- public class SingleOrderItem {
- // Data
- private Product product;
- private int quantity;
- private Long cost;
- /* Getters and Setters for all variables */
- }
- public abstract class Product {
- // Data
- private String id, name, picUrl;
- private Long price;
- /* Getters and Setters for all variables */
- }
- // Initialize Firebase variables
- FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
- FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
- FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
- // Fetch item details from activity
- SingleOrderItem singleOrderItem = new SingleOrderItem();
- singleOrderItem.setProduct(sweet);
- singleOrderItem.setQuantity(1);
- singleOrderItem.setCost(sweet.getPrice());
- // Get cart from user
- Cart cart = user.getCart();
- if (cart == null) {
- cart = new Cart();
- }
- ArrayList<SingleOrderItem> cartProducts = cart.getCart();
- cartProducts.add(singleOrderItem);
- cart.setCart(cartProducts);
- // Update cart to user
- firebaseFirestore.collection("users").document(firebaseUser.getUid())
- .set(cart, SetOptions.merge());
- // Initialize firebase variables
- FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
- FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
- FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
- if (firebaseUser != null) {
- // Fetch data from firestore
- firebaseFirestore.collection("users").document(firebaseUser.getUid())
- .addSnapshotListener((documentSnapshot, e) -> {
- if (documentSnapshot != null) {
- // Save fetched data
- User user = documentSnapshot.toObject(User.class);
- userMutableLiveData.setValue(user);
- }
- });
- }
Add Comment
Please, Sign In to add comment