Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

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

Rev Autor Línea Nro. Línea
1 efrain 1
//
2
//  GalleryTabViewModel.swift
3
//  twogetskills
4
//
5
//  Created by Efrain Yanez Recanatini on 6/29/22.
6
//
7
 
8
import Foundation
9
 
10
 
11
class GalleryGridViewModel : ObservableObject
12
{
13
    @Published public var slides = [SlideModel]()
14
    @Published public var slideActiveIndex : Int = 0
15
 
16
 
17
    func next() -> Void {
18
        if slideActiveIndex < (slides.count - 1) {
19
            slideActiveIndex += 1
20
        }
21
    }
22
 
23
    func previous() -> Void {
24
        if slideActiveIndex > 0 {
25
            slideActiveIndex -= 1
26
        }
27
    }
28
 
29
    func hasNext() -> Bool {
30
        return slideActiveIndex < (slides.count - 1)
31
    }
32
 
33
    func hasPrevious() -> Bool {
34
        return slideActiveIndex > 0
35
    }
36
 
37
    func fetch(capsuleUuid : String, userUuid : String)
38
    {
17 efrain 39
        let slideDao = SlideDao()
1 efrain 40
 
41
        slides = slideDao.selectAllByCapsuleUuid(capsuleUuid: capsuleUuid)
42
 
43
        loadAllProgress(userUuid: userUuid)
44
    }
45
 
46
    func loadAllProgress(userUuid : String)
47
    {
17 efrain 48
        let progressDao = ProgressDao()
1 efrain 49
 
50
        var i : Int = 0
51
        var progress : ProgressModel
52
 
53
        while i < slides.count
54
        {
55
            progress = progressDao.selectBySlideUuidAndUserUuid(slideUuid: slides[i].uuid, userUuid: userUuid)
56
            if progress.id > 0 {
57
                slides[i].completed = progress.completed
58
            }
59
            i += 1
60
        }
61
    }
62
}