// // LightshowModel.swift // LightshowManager // // Created by Quentin Millardet on 21/04/2024. // import UIKit class Lightshow { var name : String; var urls : URLLightshow = URLLightshow(); init(_ name : String){ self.name = name; } func isOkFiles() -> Bool { return self.urls.fseq != nil && self.urls.mp3 != nil; } } struct URLLightshow { var fseq : String! = nil ; var mp3 : String! = nil; } class LightshowModel{ var names : Array = [] ; init(){ } func getStudentAtIndex(_ i :Int) -> Lightshow{ // let url = URL(string: "https://bit.ly/3sspdFO")! // // var request = URLRequest(url: url) // // request.setValue( // "application/json", // forHTTPHeaderField: "Content-Type" // ) // let task = URLSession.shared.dataTask(with: request) { data, response, error in // if let data = data { // if let books = try? JSONDecoder().decode([Book].self, from: data) { // self.names = []; // for book in books{ // self.names.append(book.title) // } // } else { // print("Invalid Response") // } // } else if let error = error { // print("HTTP Request Failed \(error)") // } // } // // task.resume() return names[i]; } func getStudentCount() -> Int{ return names.count; } func setStudentAtIndex(_ index: Int, withdraw value : String){ var filenameArray = value.split(separator: ".") filenameArray.remove(at: filenameArray.count - 1) let valueNomalized = filenameArray.joined() var foundLightshow : Lightshow! = nil; for lightshow in names { if (lightshow.name == valueNomalized ){ foundLightshow = lightshow; } } if (foundLightshow == nil){ foundLightshow = Lightshow(valueNomalized); names.append(foundLightshow) } if (value.contains(".mp3")){ foundLightshow.urls.mp3 = value; } else if (value.contains(".fseq")){ foundLightshow.urls.fseq = value; } } func resetStundent() -> Void { self.names = []; } }