Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

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

//
//  GalleryCardViewModel.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 6/29/22.
//

import Foundation


class GalleryCardViewModel: ObservableObject {

    @Published var slide = SlideModel()
    @Published var progressCapsule : Double = 0
    @Published var completedCapsule : Int = 0
    @Published var progressTopic : Double = 0
    @Published var completedTopic : Int = 0

    public func fetch(slideUuid: String, userUuid : String)
    {
        let slideDao = SlideDao()
        self.slide = slideDao.selectByUuid(uuid: slideUuid)
        self.fetchProgress(slideUuid: slideUuid, userUuid: userUuid)
    }
    
    public func fetchProgress(slideUuid: String, userUuid : String)
    {
        let progressDao = ProgressDao()
        let progressSlide = progressDao.selectBySlideUuidAndUserUuid(slideUuid: slideUuid, userUuid: userUuid)
        if progressSlide.id > 0 {
            self.slide.completed = progressSlide.completed
            
            let progressCapsule = progressDao.selectByCapsuleUuidAndUserUuid(capsuleUuid: progressSlide.capsuleUuid, userUuid: userUuid)
            
            if progressCapsule.id > 0 {
                self.progressCapsule = progressCapsule.progress
                self.completedCapsule = progressCapsule.completed
            }
            
            let progressTopic = progressDao.selectByTopicUuidAndUserUuid(topicUuid: progressSlide.topicUuid, userUuid: userUuid)
            
            if progressTopic.id > 0 {
                self.progressTopic = progressTopic.progress
                self.completedTopic = progressTopic.completed
            }
        }
    }
}