Inhalt

Aktueller Ordner: duesseldorfer-schuelerinventar-swift-client/Duesk/Models
⬅ Übergeordnet

Profile.swift

import Foundation

struct Profile: Codable, Identifiable {
    let profilID: String
    let name: String
    let gruppename: String?
    let gruppeID: String?
    let createdAt: String?
    
    // 36 SE-Items
    let item1, item2, item3, item4, item5: Int
    let item6, item7, item8, item9, item10: Int
    let item11, item12, item13, item14, item15: Int
    let item16, item17, item18, item19, item20: Int
    let item21, item22, item23, item24, item25: Int
    let item26, item27, item28, item29, item30: Int
    let item31, item32, item33, item34, item35, item36: Int
    
    // 36 FE-Items
    let feitem1, feitem2, feitem3, feitem4, feitem5: Int
    let feitem6, feitem7, feitem8, feitem9, feitem10: Int
    let feitem11, feitem12, feitem13, feitem14, feitem15: Int
    let feitem16, feitem17, feitem18, feitem19, feitem20: Int
    let feitem21, feitem22, feitem23, feitem24, feitem25: Int
    let feitem26, feitem27, feitem28, feitem29, feitem30: Int
    let feitem31, feitem32, feitem33, feitem34, feitem35, feitem36: Int
    
    var id: String { profilID }
    
    func getItem(_ index: Int) -> Int {
        switch index {
        case 1: return item1
        case 2: return item2
        case 3: return item3
        case 4: return item4
        case 5: return item5
        case 6: return item6
        case 7: return item7
        case 8: return item8
        case 9: return item9
        case 10: return item10
        case 11: return item11
        case 12: return item12
        case 13: return item13
        case 14: return item14
        case 15: return item15
        case 16: return item16
        case 17: return item17
        case 18: return item18
        case 19: return item19
        case 20: return item20
        case 21: return item21
        case 22: return item22
        case 23: return item23
        case 24: return item24
        case 25: return item25
        case 26: return item26
        case 27: return item27
        case 28: return item28
        case 29: return item29
        case 30: return item30
        case 31: return item31
        case 32: return item32
        case 33: return item33
        case 34: return item34
        case 35: return item35
        case 36: return item36
        default: return 2
        }
    }
    
    func getFeItem(_ index: Int) -> Int {
        switch index {
        case 1: return feitem1
        case 2: return feitem2
        case 3: return feitem3
        case 4: return feitem4
        case 5: return feitem5
        case 6: return feitem6
        case 7: return feitem7
        case 8: return feitem8
        case 9: return feitem9
        case 10: return feitem10
        case 11: return feitem11
        case 12: return feitem12
        case 13: return feitem13
        case 14: return feitem14
        case 15: return feitem15
        case 16: return feitem16
        case 17: return feitem17
        case 18: return feitem18
        case 19: return feitem19
        case 20: return feitem20
        case 21: return feitem21
        case 22: return feitem22
        case 23: return feitem23
        case 24: return feitem24
        case 25: return feitem25
        case 26: return feitem26
        case 27: return feitem27
        case 28: return feitem28
        case 29: return feitem29
        case 30: return feitem30
        case 31: return feitem31
        case 32: return feitem32
        case 33: return feitem33
        case 34: return feitem34
        case 35: return feitem35
        case 36: return feitem36
        default: return 2
        }
    }
    
    func getAllSEItems() -> [Int] {
        return (1...36).map { getItem($0) }
    }
    
    func getAllFEItems() -> [Int] {
        return (1...36).map { getFeItem($0) }
    }
}

// Für die Profilerstellung beim Editieren
struct ProfileCreate: Codable {
    var name: String
    var gruppeID: Int?
    var gruppename: String?
    
    var item1, item2, item3, item4, item5: Int
    var item6, item7, item8, item9, item10: Int
    var item11, item12, item13, item14, item15: Int
    var item16, item17, item18, item19, item20: Int
    var item21, item22, item23, item24, item25: Int
    var item26, item27, item28, item29, item30: Int
    var item31, item32, item33, item34, item35, item36: Int
    
    var feitem1, feitem2, feitem3, feitem4, feitem5: Int
    var feitem6, feitem7, feitem8, feitem9, feitem10: Int
    var feitem11, feitem12, feitem13, feitem14, feitem15: Int
    var feitem16, feitem17, feitem18, feitem19, feitem20: Int
    var feitem21, feitem22, feitem23, feitem24, feitem25: Int
    var feitem26, feitem27, feitem28, feitem29, feitem30: Int
    var feitem31, feitem32, feitem33, feitem34, feitem35, feitem36: Int
    
    init(name: String, groupId: Int? = nil, groupName: String? = nil, seItems: [Int], feItems: [Int]) {
        self.name = name
        self.gruppeID = groupId
        self.gruppename = groupName
        
        self.item1 = seItems[0]; self.item2 = seItems[1]; self.item3 = seItems[2]
        self.item4 = seItems[3]; self.item5 = seItems[4]; self.item6 = seItems[5]
        self.item7 = seItems[6]; self.item8 = seItems[7]; self.item9 = seItems[8]
        self.item10 = seItems[9]; self.item11 = seItems[10]; self.item12 = seItems[11]
        self.item13 = seItems[12]; self.item14 = seItems[13]; self.item15 = seItems[14]
        self.item16 = seItems[15]; self.item17 = seItems[16]; self.item18 = seItems[17]
        self.item19 = seItems[18]; self.item20 = seItems[19]; self.item21 = seItems[20]
        self.item22 = seItems[21]; self.item23 = seItems[22]; self.item24 = seItems[23]
        self.item25 = seItems[24]; self.item26 = seItems[25]; self.item27 = seItems[26]
        self.item28 = seItems[27]; self.item29 = seItems[28]; self.item30 = seItems[29]
        self.item31 = seItems[30]; self.item32 = seItems[31]; self.item33 = seItems[32]
        self.item34 = seItems[33]; self.item35 = seItems[34]; self.item36 = seItems[35]
        
        self.feitem1 = feItems[0]; self.feitem2 = feItems[1]; self.feitem3 = feItems[2]
        self.feitem4 = feItems[3]; self.feitem5 = feItems[4]; self.feitem6 = feItems[5]
        self.feitem7 = feItems[6]; self.feitem8 = feItems[7]; self.feitem9 = feItems[8]
        self.feitem10 = feItems[9]; self.feitem11 = feItems[10]; self.feitem12 = feItems[11]
        self.feitem13 = feItems[12]; self.feitem14 = feItems[13]; self.feitem15 = feItems[14]
        self.feitem16 = feItems[15]; self.feitem17 = feItems[16]; self.feitem18 = feItems[17]
        self.feitem19 = feItems[18]; self.feitem20 = feItems[19]; self.feitem21 = feItems[20]
        self.feitem22 = feItems[21]; self.feitem23 = feItems[22]; self.feitem24 = feItems[23]
        self.feitem25 = feItems[24]; self.feitem26 = feItems[25]; self.feitem27 = feItems[26]
        self.feitem28 = feItems[27]; self.feitem29 = feItems[28]; self.feitem30 = feItems[29]
        self.feitem31 = feItems[30]; self.feitem32 = feItems[31]; self.feitem33 = feItems[32]
        self.feitem34 = feItems[33]; self.feitem35 = feItems[34]; self.feitem36 = feItems[35]
    }
}