Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

Autoría | Ultima modificación | Ver Log |

//
//  appDataModel.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 3/3/22.
//

import Foundation


class AppData {
    public static let SUB_PAGE_SOURCE_TOPICS = 0
    public static let SUB_PAGE_SOURCE_MY_CAPSULES = 1

    var deviceUuid : String = ""
    var userUuid : String = ""
    var fcmToken : String = ""
    var email : String = ""
    var firstName : String = ""
    var lastName : String = ""
    var image : String = ""
    var password : String = ""
    var aes : String = ""
    var maxDateChanges : String = ""
    var topicUuidActive : String = ""
    var capsuleUuidActive : String = ""
    var slideUuidActive : String = ""
    var slidePositionInitial : Int = 0
    var companyUuidActive : String = ""
    var companyCount : Int = 0
    var capsuleUuidOld : String = ""
    var subPageSource : Int = AppData.SUB_PAGE_SOURCE_TOPICS
    
    static let sharedInstance: AppData = {
           let instance = AppData()
           
           // setup code
           return instance
    }()

    init() {
        
        
        load()
    }
    
    func load() -> Void
    {
        let standardAppData = UserDefaults.standard
        self.deviceUuid = standardAppData.string(forKey: Constants.APP_DATA_FIELD_DEVICE_ID) ?? ""
        self.userUuid = standardAppData.string(forKey: Constants.APP_DATA_FIELD_USER_ID) ?? ""
        self.fcmToken = standardAppData.string(forKey: Constants.APP_DATA_FIELD_FCM_TOKEN) ?? ""
        self.email = standardAppData.string(forKey: Constants.APP_DATA_FIELD_EMAIL) ?? ""
        self.firstName = standardAppData.string(forKey: Constants.APP_DATA_FIELD_FIRST_NAME) ?? ""
        self.lastName = standardAppData.string(forKey: Constants.APP_DATA_FIELD_LAST_NAME) ?? ""
        self.image = standardAppData.string(forKey: Constants.APP_DATA_FIELD_IMAGE) ?? ""
        self.password = standardAppData.string(forKey: Constants.APP_DATA_FIELD_PASSWORD) ?? ""
        self.aes = standardAppData.string(forKey: Constants.APP_DATA_FIELD_AES) ?? ""
        self.maxDateChanges = standardAppData.string(forKey: Constants.APP_DATA_FIELD_MAX_DATE_CHANGES) ?? ""
        self.topicUuidActive = standardAppData.string(forKey: Constants.APP_DATA_FIELD_TOPIC_UUID_ACTIVE) ?? ""

        
        self.capsuleUuidActive = standardAppData.string(forKey: Constants.APP_DATA_FIELD_CAPSULE_UUID_ACTIVE) ?? ""
        self.slideUuidActive = standardAppData.string(forKey: Constants.APP_DATA_FIELD_SLIDE_UUID_ACTIVE) ?? ""
        
        self.slidePositionInitial = standardAppData.integer(forKey: Constants.APP_DATA_FIELD_SLIDE_POSITION_INITIAL)
        
        self.companyUuidActive = standardAppData.string(forKey: Constants.APP_DATA_FIELD_COMPANY_UUID_ACTIVE) ?? ""
        
        self.companyCount = standardAppData.integer(forKey: Constants.APP_DATA_FIELD_COMPANY_COUNT) ?? 0
        
        self.capsuleUuidOld = standardAppData.string(forKey: Constants.APP_DATA_FIELD_CAPSULE_UUID_OLD) ?? ""
        
        self.subPageSource = standardAppData.integer(forKey: Constants.APP_DATA_FIELD_SUB_PAGE_SOURCE) ?? AppData.SUB_PAGE_SOURCE_TOPICS
        
    
        
        
        print("AppData Load Device UUID : \(self.deviceUuid)")
        print("AppData Load User UUID: \(self.userUuid)")
        print("AppData Load FCM Token : \(self.fcmToken)")
        print("AppData Load Email : \(self.email)")
        print("AppData Load First Name : \(self.firstName)")
        print("AppData Load Last Name : \(self.lastName)")
        print("AppData Load Image : \(self.image)")
        print("AppData Load AES : \(self.aes)")
        print("AppData Load Password : \(self.password)")
        print("AppData Load MaxDateChanges : \(self.maxDateChanges)")
        print("AppData Load Topic UUID Active : \(self.topicUuidActive)")
        print("AppData Load Capsule UUID Active : \(self.capsuleUuidActive)")
        print("AppData Load Slide UUID Active : \(self.slideUuidActive)")
        print("AppData Load Slide Position Initial : \(self.slidePositionInitial)")
        print("AppData Load Company UUID Active: \(self.companyUuidActive)")
        print("AppData Load Company Count : \(self.companyCount)")
        print("AppData Load Capsule UUID OLD : \(self.capsuleUuidOld)")
        print("AppData Load Sub Page Source : \(self.subPageSource)")

    }
    
    func save() -> Void
    {
        DispatchQueue.main.async {
            let standardAppData = UserDefaults.standard
            
            print("AppData Save Device UUID : \(self.deviceUuid)")
            print("AppData Save User UUID: \(self.userUuid)")
            print("AppData Save FCM Token : \(self.fcmToken)")
            print("AppData Save Email : \(self.email)")
            print("AppData Save First Name : \(self.firstName)")
            print("AppData Save Last Name : \(self.lastName)")
            print("AppData Save Image : \(self.image)")
            print("AppData Save AES : \(self.aes)")
            print("AppData Save Password : \(self.password)")
            print("AppData Save MaxDateChanges : \(self.maxDateChanges)")
            print("AppData Save Topic UUID Active : \(self.topicUuidActive)")
            print("AppData Save Capsule UUID Active : \(self.capsuleUuidActive)")
            print("AppData Save Slide UUID Active : \(self.slideUuidActive)")
            print("AppData Save Slide Position Initial : \(self.slidePositionInitial)")
            print("AppData Save Company UUID Active: \(self.companyUuidActive)")
            print("AppData Save Company Count : \(self.companyCount)")
            print("AppData Save Sub Page Source : \(self.subPageSource)")
            
            standardAppData.setValue(self.deviceUuid, forKey: Constants.APP_DATA_FIELD_DEVICE_ID)
            standardAppData.setValue(self.userUuid, forKey: Constants.APP_DATA_FIELD_USER_ID)
            standardAppData.setValue(self.fcmToken, forKey: Constants.APP_DATA_FIELD_FCM_TOKEN)
            standardAppData.setValue(self.email, forKey: Constants.APP_DATA_FIELD_EMAIL)
            standardAppData.setValue(self.firstName, forKey: Constants.APP_DATA_FIELD_FIRST_NAME)
            standardAppData.setValue(self.lastName, forKey: Constants.APP_DATA_FIELD_LAST_NAME)
            standardAppData.setValue(self.image, forKey: Constants.APP_DATA_FIELD_IMAGE)
            standardAppData.setValue(self.password, forKey: Constants.APP_DATA_FIELD_PASSWORD)
            standardAppData.setValue(self.aes, forKey: Constants.APP_DATA_FIELD_AES)
            standardAppData.setValue(self.maxDateChanges, forKey: Constants.APP_DATA_FIELD_MAX_DATE_CHANGES)
            standardAppData.setValue(self.topicUuidActive, forKey: Constants.APP_DATA_FIELD_TOPIC_UUID_ACTIVE)
            standardAppData.setValue(self.capsuleUuidActive, forKey: Constants.APP_DATA_FIELD_CAPSULE_UUID_ACTIVE)
            standardAppData.setValue(self.slideUuidActive, forKey: Constants.APP_DATA_FIELD_SLIDE_UUID_ACTIVE)
            standardAppData.setValue(self.slidePositionInitial, forKey: Constants.APP_DATA_FIELD_SLIDE_POSITION_INITIAL)
          
            standardAppData.setValue(self.companyUuidActive, forKey: Constants.APP_DATA_FIELD_COMPANY_UUID_ACTIVE)
            standardAppData.setValue(self.companyCount, forKey: Constants.APP_DATA_FIELD_COMPANY_COUNT)
            standardAppData.setValue(self.capsuleUuidOld, forKey: Constants.APP_DATA_FIELD_CAPSULE_UUID_OLD)
            
            standardAppData.setValue(self.subPageSource, forKey: Constants.APP_DATA_FIELD_SUB_PAGE_SOURCE)
            
            
            standardAppData.synchronize()
        }
    }
}