Ver código fonte

add appropiate time (hopefully?) for tins calculation

polscm32 2 anos atrás
pai
commit
4e62a420d7
1 arquivos alterados com 25 adições e 29 exclusões
  1. 25 29
      FreeAPS/Sources/Modules/Home/View/Header/PumpView.swift

+ 25 - 29
FreeAPS/Sources/Modules/Home/View/Header/PumpView.swift

@@ -102,12 +102,20 @@ struct PumpView: View {
             }
         }
     }
+    
+    //MARK: WORKS....
 
     func calculateTINS() -> String {
         let date = Date()
         let calendar = Calendar.current
-        let startTime = calendar.startOfDay(for: date)
-        let endTime = calendar.date(bySettingHour: 23, minute: 59, second: 59, of: date)
+        let offset = state.scale
+        
+        var offsetComponents = DateComponents()
+        offsetComponents.hour = -offset.rawValue
+
+        let startTime = calendar.date(byAdding: offsetComponents, to: date)!
+        print("******************")
+        print("die voll krasse start time ist: \(startTime)")
 
         let bolusesForCurrentDay = boluses.filter { $0.timestamp >= startTime && $0.type == .bolus }
 
@@ -117,41 +125,29 @@ struct PumpView: View {
         return "\(roundedTotalBolus) U"
     }
 
+//    MARK: THIS CRAP DOES NOT WORK
+    
+    
 //    func calculateTINS() -> String {
 //        let date = Date()
 //        let calendar = Calendar.current
-//        let startTime = calendar.startOfDay(for: date)
-//        let endTime = calendar.date(bySettingHour: 23, minute: 59, second: 59, of: date)
-//
-//        let bolusesForCurrentDay = boluses.filter { $0.timestamp >= startTime && $0.type == .bolus}
-//        print("****************Boluses for current day: \(bolusesForCurrentDay)")
-//
-//        let totalBolus = bolusesForCurrentDay.map { $0.value as? Decimal ?? 0 }.reduce(0, +)
-//        print("****************Total Bolus: \(totalBolus)")
-//
-//        return "\(totalBolus) U"
-//    }
-
-//    func calculateTINS() {
-//            DispatchQueue.main.async { [weak self] in
-//                guard let self = self else { return }
+//        let offset = state.scale
 //
-//                // start of day
-//                let startOfDay = Calendar.current.startOfDay(for: Date())
+//    //        let hour = calendar.component(.hour, from: date)
+//    //
+//    //        let minutes = calendar.component(.minute, from: date)
 //
-//                // filtering for day
-    ////                let bolusesForCurrentDay = self.provider.pumpHistory()
-    ////                    .filter { $0.type == .bolus && $0.timestamp >= startOfDay }
+//        let startTime = calendar.startOfDay(for: date).addingTimeInterval(-Double(offset.rawValue))
+//        print("******************")
+//        print(startTime)
 //
-//                // adding all together
-    ////                let totalBolus = bolusesForCurrentDay.map { $0.amount ?? 0 }.reduce(0, +)
+//        let bolusesForCurrentDay = boluses.filter { $0.timestamp >= startTime && $0.type == .bolus }
 //
-//                let totalBolus = boluses.map {}
-//
-//                self.totalBolus = totalBolus
-//            }
-//        }
+//        let totalBolus = bolusesForCurrentDay.map { $0.amount ?? 0 }.reduce(0, +)
+//        let roundedTotalBolus = Decimal(round(100 * Double(totalBolus)) / 100)
 //
+//        return "\(roundedTotalBolus) U"
+//    }
 
     private func remainingTimeString(time: TimeInterval) -> String {
         guard time > 0 else {