|
|
@@ -1,4 +1,5 @@
|
|
|
import CoreData
|
|
|
+import Foundation
|
|
|
import SwiftUI
|
|
|
|
|
|
extension AddCarbs {
|
|
|
@@ -144,9 +145,76 @@ extension AddCarbs {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- func fullMeal() -> [String] {
|
|
|
- let filteredArray = summation.filter { !$0.isEmpty }
|
|
|
- return filteredArray
|
|
|
+ func addNewPresetToWaitersNotepad(_ dish: String) {
|
|
|
+ summation.append(dish)
|
|
|
+ }
|
|
|
+
|
|
|
+ func waitersNotepad() -> String {
|
|
|
+ var filteredArray = summation.filter { !$0.isEmpty }
|
|
|
+ var carbs_: Decimal = 0.0
|
|
|
+ var fat_: Decimal = 0.0
|
|
|
+ var protein_: Decimal = 0.0
|
|
|
+ var presetArray = [Presets]()
|
|
|
+
|
|
|
+ coredataContext.performAndWait {
|
|
|
+ let requestPresets = Presets.fetchRequest() as NSFetchRequest<Presets>
|
|
|
+ try? presetArray = coredataContext.fetch(requestPresets)
|
|
|
+ }
|
|
|
+
|
|
|
+ var waitersNotepad = [String]()
|
|
|
+ var stringValue = ""
|
|
|
+
|
|
|
+ for each in filteredArray {
|
|
|
+ let countedSet = NSCountedSet(array: filteredArray)
|
|
|
+ let count = countedSet.count(for: each)
|
|
|
+ if each != stringValue {
|
|
|
+ waitersNotepad.append("\(count) \(each)")
|
|
|
+ }
|
|
|
+ stringValue = each
|
|
|
+
|
|
|
+ for sel in presetArray {
|
|
|
+ if sel.dish == each {
|
|
|
+ carbs_ += (sel.carbs)! as Decimal
|
|
|
+ fat_ += (sel.fat)! as Decimal
|
|
|
+ protein_ += (sel.protein)! as Decimal
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ let extracarbs = carbs - carbs_
|
|
|
+ let extraFat = fat - fat_
|
|
|
+ let extraProtein = protein - protein_
|
|
|
+ var addedString = ""
|
|
|
+
|
|
|
+ if extracarbs > 0, filteredArray.isNotEmpty {
|
|
|
+ addedString += "Additional carbs: \(extracarbs) "
|
|
|
+ } else if extracarbs < 0 { addedString += "Removed carbs: \(extracarbs) " }
|
|
|
+
|
|
|
+ if extraFat > 0, filteredArray.isNotEmpty {
|
|
|
+ addedString += "Additional fat: \(extraFat) "
|
|
|
+ } else if extraFat < 0 { addedString += "Removed fat: \(extraFat) " }
|
|
|
+
|
|
|
+ if extraProtein > 0, filteredArray.isNotEmpty {
|
|
|
+ addedString += "Additional protein: \(extraProtein) "
|
|
|
+ } else if extraProtein < 0 { addedString += "Removed protein: \(extraProtein) " }
|
|
|
+
|
|
|
+ if addedString != "" {
|
|
|
+ waitersNotepad.append(addedString)
|
|
|
+ }
|
|
|
+
|
|
|
+ var waitersNotepadString = ""
|
|
|
+
|
|
|
+ if waitersNotepad.count == 1 {
|
|
|
+ waitersNotepadString = waitersNotepad[0]
|
|
|
+ } else if waitersNotepad.count > 1 {
|
|
|
+ for each in waitersNotepad {
|
|
|
+ if each != waitersNotepad.last {
|
|
|
+ waitersNotepadString += " " + each + ","
|
|
|
+ } else { waitersNotepadString += " " + each }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return waitersNotepadString
|
|
|
}
|
|
|
}
|
|
|
}
|