AddCarbsViewModel.swift 650 B

123456789101112131415161718192021
  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. carbsStorage.storeCarbs([
  11. CarbsEntry(createdAt: date, carbs: carbs, enteredBy: CarbsEntry.manual)
  12. ])
  13. apsManager.determineBasal().sink { _ in }.store(in: &lifetime)
  14. showModal(for: nil)
  15. }
  16. }
  17. }