Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

Rev 9 | Rev 61 | 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
{
    
    private let appDao = AppDao.sharedInstance
    @Published var capsules = [CapsuleModel]()

    init() {

        fetch()
    }

    func fetch()
    {
        let appData = appDao.selectOne()
        let capsuleDao = CapsuleDao.sharedInstance
        capsules = capsuleDao.selectAll()
        
        
        loadAllProgress(userUuid: appData.userUuid)
    }
    
    /*
    func search(userUuid : String, type:  CapsulePickerType = .pending, search : String = "")
    {
        let capsuleDao = CapsuleDao.sharedInstance
        
        switch type   {
        case .completed:
            capsules = capsuleDao.selectAllCompletedByUserUuid(userUuid: userUuid, search: search)
            
        case .inprogress :
            capsules = capsuleDao.selectAllInProgressByUserUuid(userUuid: userUuid, search: search)
            
        default:
            capsules = capsuleDao.selectAllPendingByUserUuid(userUuid: userUuid, search: search)
        }
        
        
        loadAllProgress(userUuid: userUuid);
    }
 */
    
    func loadAllProgress(userUuid : String)
    {
        let progressDao = ProgressDao.sharedInstance
        let slideDao = SlideDao.sharedInstance
        var i : Int = 0
        var progress : ProgressModel
        
        while i < capsules.count
        {
            capsules[i].totalSlides = slideDao.getCountByCapsuleUuid(capsuleUuid: capsules[i].uuid)
            
            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
            }
            i += 1
        }
    }
}