Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

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

Rev Autor Línea Nro. Línea
1 efrain 1
//
2
//  TopicViewModel.swift
3
//  twogetskills
4
//
5
//  Created by Efrain Yanez Recanatini on 2/21/22.
6
//
7
 
8
import Foundation
9
import SwiftUI
10
 
11
 
12
class TopicGridViewModel: ObservableObject
13
{
9 efrain 14
    private let appDao = AppDao.sharedInstance
1 efrain 15
    @Published public var topics = [TopicModel]()
16
 
17
 
18
 
19
 
20
    init() {
11 efrain 21
        let appData = appDao.selectOne()
1 efrain 22
        fetch(userUuid: appData.userUuid)
23
    }
24
 
25
    func fetch(userUuid : String)
26
    {
27
        let topicDao = TopicDao.sharedInstance
28
        topics = topicDao.selectAll()
29
 
30
        loadAllProgress(userUuid: userUuid)
31
    }
32
 
33
    func loadAllProgress(userUuid : String)
34
    {
35
        let progressDao = ProgressDao.sharedInstance
36
        var i : Int = 0
37
        var progress : ProgressModel
38
        while i < topics.count
39
        {
40
 
41
 
42
            /*
43
 
11 efrain 44
            //print("userUuid : \(userUuid) ")
45
            //print("topic")
46
            //print(topics[i])
47
           // print("progress")
1 efrain 48
 */
49
            progress = progressDao.selectByTopicUuidAndUserUuid(topicUuid: topics[i].uuid, userUuid: userUuid)
50
            print(progress)
51
            if progress.id > 0
52
            {
53
                topics[i].totalSlides = progress.totalSlides
54
                topics[i].viewSlides = progress.viewSlides
55
                topics[i].progress = progress.progress
56
                topics[i].completed = progress.completed
57
            }
58
            i += 1
59
        }
60
    }
61
 
62
    func loadProgress(topicUuid : String, userUuid : String)
63
    {
64
        let progressDao = ProgressDao.sharedInstance
65
        var i : Int = 0
66
        var progress : ProgressModel
67
        while i < topics.count
68
        {
69
            if topics[i].uuid == topicUuid {
70
                progress = progressDao.selectByTopicUuidAndUserUuid(topicUuid: topics[i].uuid, userUuid: userUuid)
71
                if progress.id > 0
72
                {
73
                    topics[i].totalSlides = progress.totalSlides
74
                    topics[i].viewSlides = progress.viewSlides
75
                    topics[i].progress = progress.progress
76
                    topics[i].completed = progress.completed
77
                }
78
            }
79
            i += 1
80
        }
81
    }
82
}