WZYCX / RSStodge-STUDENT

Files for Rugby School Stodge Application
2 stars 0 forks source link

cancelling order does not reinstate balance or stock quantities #44

Closed WZYCX closed 1 year ago

WZYCX commented 1 year ago

When cancelling an order, it is removed from the orders but the stock and spend is not incremented back to its original value.

WZYCX commented 1 year ago

SOLVED: Button action: ' let db = Firestore.firestore() var currentItem: [Item] = []

                                for i in Order.items{ //recalculates item stock quantities
                                    for item in allitems.all{
                                        if item.name == i.key{
                                            currentItem.append(item)
                                        }
                                    }
                                    let doc = db.collection("Items").document(currentItem[0].id)
                                    doc.updateData([
                                        "Stock": String(Int(currentItem[0].stock)! + Int(i.value)!)
                                    ]) { err in
                                        if let err = err {
                                            print("Error updating document: \(err)")
                                        } else {
                                            print("'Stock' in 'Items' successfully added back")
                                        }
                                    }
                                }

                                // update spent
                                let i = users.mainUser[0]
                                let doc = db.collection("Users").document(i.id)
                                doc.updateData([
                                    "Spent": String(Double(i.spent)! - Double(Order.totalCost)!)
                                ]) { err in
                                    if let err = err {
                                        print("Error updating document: \(err)")
                                    } else {
                                        print("'Spent' in 'Users' successfully restored")
                                    }
                                }

                                // remove order from Firebase
                                db.collection("Orders").document(Order.id).delete() { err in
                                    if let err = err {
                                        print("Error removing document: \(err)")
                                    } else {
                                        print("Order successfully removed!")
                                    }
                                }

'