Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

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

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

import Foundation


class GalleryGridViewModel : ObservableObject
{
    @Published public var slides = [SlideModel]()
    @Published public var slideActiveIndex : Int = 0
    
    
    func next() -> Void {
        if slideActiveIndex < (slides.count - 1) {
            slideActiveIndex += 1
        }
    }
    
    func previous() -> Void {
        if slideActiveIndex > 0 {
            slideActiveIndex -= 1
        }
    }
    
    func hasNext() -> Bool {
        return slideActiveIndex < (slides.count - 1)
    }
    
    func hasPrevious() -> Bool {
        return slideActiveIndex > 0
    }

    func fetch(capsuleUuid : String, userUuid : String)
    {
        let slideDao = SlideDao()
        
        slides = slideDao.selectAllByCapsuleUuid(capsuleUuid: capsuleUuid)
        
        loadAllProgress(userUuid: userUuid)
    }
    
    func loadAllProgress(userUuid : String)
    {
        let progressDao = ProgressDao()
        
        var i : Int = 0
        var progress : ProgressModel
        
        while i < slides.count
        {
            progress = progressDao.selectBySlideUuidAndUserUuid(slideUuid: slides[i].uuid, userUuid: userUuid)
            if progress.id > 0 {
                slides[i].completed = progress.completed
            }
            i += 1
        }
    }
}