Przeglądaj źródła

Fix update of calc

Jon Mårtensson 2 lat temu
rodzic
commit
0636150833
1 zmienionych plików z 14 dodań i 12 usunięć
  1. 14 12
      FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift

+ 14 - 12
FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift

@@ -103,7 +103,7 @@ extension Bolus {
         }
 
         // CALCULATIONS FOR THE BOLUS CALCULATOR
-        func calculateInsulin() {
+        func calculateInsulin() -> Decimal {
             // for mmol conversion
             var conversion: Decimal = 1.0
             if units == .mmolL {
@@ -153,7 +153,10 @@ extension Bolus {
             insulinCalculated = max(insulinCalculated, 0)
             let insulinCalculatedAsDouble = Double(insulinCalculated)
             roundedInsulinCalculated = Decimal(round(100 * insulinCalculatedAsDouble) / 100)
-            insulinRecommended = min(insulinCalculated, maxBolus)
+
+            insulinCalculated = min(insulinCalculated, maxBolus)
+
+            return insulinCalculated
         }
 
         func add() {
@@ -192,11 +195,9 @@ extension Bolus {
                 self.basal = self.provider.suggestion?.rate ?? 0
                 self.carbRatio = self.provider.suggestion?.carbRatio ?? 0
 
-                if !self.useCalc {
-                    if self.settingsManager.settings.insulinReqPercentage != 100 {
-                        self.insulinRecommended = self.insulin * (self.settingsManager.settings.insulinReqPercentage / 100)
-                    } else { self.insulinRecommended = self.insulin }
-                }
+                if self.settingsManager.settings.insulinReqPercentage != 100 {
+                    self.insulinRecommended = self.insulin * (self.settingsManager.settings.insulinReqPercentage / 100)
+                } else { self.insulinRecommended = self.insulin }
 
                 self.errorString = self.provider.suggestion?.manualBolusErrorString ?? 0
                 if self.errorString != 0 {
@@ -207,11 +208,13 @@ extension Bolus {
                     self.minPredBG = (self.provider.suggestion?.minPredBG ?? 0) * conversion
                 } else { self.error = false }
 
-                if !self.useCalc {
-                    self.insulinRecommended = self.apsManager
-                        .roundBolus(amount: max(self.insulinRecommended, 0))
+                self.insulinRecommended = self.apsManager
+                    .roundBolus(amount: max(self.insulinRecommended, 0))
+
+                if self.useCalc {
+                    self.getDeltaBG()
+                    self.insulinCalculated = self.calculateInsulin()
                 }
-                self.getDeltaBG()
             }
         }
 
@@ -241,6 +244,5 @@ extension Bolus.StateModel: SuggestionObserver {
             self.waitForSuggestion = false
         }
         setupInsulinRequired()
-        if useCalc { calculateInsulin() }
     }
 }