Guest User

Untitled

a guest
Nov 22nd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. public class User implements Serializable {
  2.  
  3. // Data
  4. private String name, uid, mail, address;
  5. private Long phone;
  6. private ArrayList<Order> orders;
  7. private Cart cart;
  8.  
  9. public User() {
  10. orders = new ArrayList<>();
  11. cart = new Cart();
  12. }
  13. /* Getters and Setters for all variables */
  14. }
  15.  
  16. public class Cart {
  17.  
  18. // Data
  19. private ArrayList<SingleOrderItem> cart;
  20.  
  21. public Cart() {
  22. cart = new ArrayList<>();
  23. }
  24.  
  25. /* Getters and Setters for all variables */
  26. }
  27.  
  28. public class SingleOrderItem {
  29.  
  30. // Data
  31. private Product product;
  32. private int quantity;
  33. private Long cost;
  34.  
  35. /* Getters and Setters for all variables */
  36. }
  37.  
  38. public abstract class Product {
  39.  
  40. // Data
  41. private String id, name, picUrl;
  42. private Long price;
  43.  
  44. /* Getters and Setters for all variables */
  45. }
  46.  
  47. // Initialize Firebase variables
  48. FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
  49. FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
  50. FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
  51.  
  52. // Fetch item details from activity
  53. SingleOrderItem singleOrderItem = new SingleOrderItem();
  54. singleOrderItem.setProduct(sweet);
  55. singleOrderItem.setQuantity(1);
  56. singleOrderItem.setCost(sweet.getPrice());
  57.  
  58. // Get cart from user
  59. Cart cart = user.getCart();
  60. if (cart == null) {
  61. cart = new Cart();
  62. }
  63. ArrayList<SingleOrderItem> cartProducts = cart.getCart();
  64. cartProducts.add(singleOrderItem);
  65. cart.setCart(cartProducts);
  66.  
  67. // Update cart to user
  68. firebaseFirestore.collection("users").document(firebaseUser.getUid())
  69. .set(cart, SetOptions.merge());
  70.  
  71. // Initialize firebase variables
  72. FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
  73. FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
  74. FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
  75.  
  76. if (firebaseUser != null) {
  77. // Fetch data from firestore
  78. firebaseFirestore.collection("users").document(firebaseUser.getUid())
  79. .addSnapshotListener((documentSnapshot, e) -> {
  80.  
  81. if (documentSnapshot != null) {
  82.  
  83. // Save fetched data
  84. User user = documentSnapshot.toObject(User.class);
  85. userMutableLiveData.setValue(user);
  86. }
  87. });
  88. }
Add Comment
Please, Sign In to add comment