Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 17 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

//
//  TopicViewModel.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 2/21/22.
//

import Foundation
import SwiftUI


class TopicGridViewModel: ObservableObject 
{
    @Published public var topics = [TopicModel]()

    private var appData = Environment(\.appData).wrappedValue
 
    init() {
        fetch(userUuid: appData.userUuid)
    }

    func fetch(userUuid : String)
    {
        let topicDao = TopicDao()
        topics = topicDao.selectAll()
        
        loadAllProgress(userUuid: userUuid)
    }
    
    func loadAllProgress(userUuid : String)
    {
        let progressDao = ProgressDao()
        var i : Int = 0
        var progress : ProgressModel
        while i < topics.count
        {
            progress = progressDao.selectByTopicUuidAndUserUuid(topicUuid: topics[i].uuid, userUuid: userUuid)
            print(progress)
            if progress.id > 0
            {
                topics[i].totalSlides = progress.totalSlides
                topics[i].viewSlides = progress.viewSlides
                topics[i].progress = progress.progress
                topics[i].completed = progress.completed
            }
            i += 1
        }
    }
    
    func loadProgress(topicUuid : String, userUuid : String)
    {
        let progressDao = ProgressDao()
        var i : Int = 0
        var progress : ProgressModel
        while i < topics.count
        {
            if topics[i].uuid == topicUuid {
                progress = progressDao.selectByTopicUuidAndUserUuid(topicUuid: topics[i].uuid, userUuid: userUuid)
                if progress.id > 0
                {
                    topics[i].totalSlides = progress.totalSlides
                    topics[i].viewSlides = progress.viewSlides
                    topics[i].progress = progress.progress
                    topics[i].completed = progress.completed
                }
            }
            i += 1
        }
    }
}