Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 17 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

//
//  MyCapsulesViewModel.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 7/27/22.
//

import Foundation


class MyCapsulesListingViewModel : ObservableObject
{
    @Published var capsules = [CapsuleModel]()
    private var appData = AppData.sharedInstance
    
    init() {
        fetch()
    }

    func fetch()
    {
        let capsuleDao = CapsuleDao.sharedInstance
        capsules = capsuleDao.selectAll()
        
        loadAllProgress(userUuid: appData.userUuid)
    }
    

    
    func loadAllProgress(userUuid : String)
    {
        let progressDao = ProgressDao.sharedInstance
        let slideDao = SlideDao.sharedInstance
        var i : Int = 0
        var progress : ProgressModel
        
        while i < capsules.count
        {
            
            
            progress = progressDao.selectByCapsuleUuidAndUserUuid(capsuleUuid: capsules[i].uuid, userUuid: userUuid)
            if progress.id > 0 {
                capsules[i].totalSlides = progress.totalSlides
                capsules[i].viewSlides = progress.viewSlides
                capsules[i].progress = progress.progress
                capsules[i].completed = progress.completed
            }
            if capsules[i].totalSlides == 0
            {
                capsules[i].totalSlides = slideDao.getCountByCapsuleUuid(capsuleUuid: capsules[i].uuid)
            }
            
            i += 1
        }
    }
}