AddCarbsViewModel.swift 687 B

12345678910111213141516171819202122232425
  1. import SwiftUI
  2. extension AddCarbs {
  3. class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: AddCarbsProvider {
  4. @Injected() var carbsStorage: CarbsStorage!
  5. @Injected() var apsManager: APSManager!
  6. @Published var carbs: Decimal = 0
  7. @Published var date = Date()
  8. override func subscribe() {}
  9. func add() {
  10. guard carbs > 0 else {
  11. showModal(for: nil)
  12. return
  13. }
  14. carbsStorage.storeCarbs([
  15. CarbsEntry(createdAt: date, carbs: carbs, enteredBy: CarbsEntry.manual)
  16. ])
  17. showModal(for: .bolus)
  18. }
  19. }
  20. }