Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Threema/ThreemaFramework/Business/   (Social Medium ©)  Datei vom 26.9.2026 mit Größe 3 kB image not shown  

Quelle  CompanyDirectoryContact.swift   Sprache: JAVA

 

import Foundation

public final class CompanyDirectoryContact: NSObject, Sendable {
    public let id: String
    public let pk: Data
    public let first: String?
    public let last: String?
    public let csi: String?
    public let jobTitle: String?
    public let department: String?
    public let cat: [String]?
    public let org: String?
    public let availability: String?

    public var workAvailabilityStatus: WorkAvailabilityStatus? {
        WorkAvailabilityStatus.fromEncodedString(availability)
    }
    
    public init(dictionary: [AnyHashable: Any?]) {
        self.id = dictionary["id"] as! String
        self.pk = NSData(
            base64Encoded: dictionary["pk"] as! String,
            options: NSData.Base64DecodingOptions.ignoreUnknownCharacters
        )! as Data
        
        if let tmp = dictionary["first"] as? String {
            self.first = tmp
        }
        else {
            self.first = ""
        }
        
        if let tmp = dictionary["last"] as? String {
            self.last = tmp
        }
        else {
            self.last = ""
        }
        
        if let tmp = dictionary["csi"] as? String {
            self.csi = tmp
        }
        else {
            self.csi = ""
        }
        
        self.jobTitle = dictionary["jobTitle"] as? String
        self.department = dictionary["department"] as? String
        
        if let tmp = dictionary["cat"] as? [String] {
            self.cat = tmp
        }
        else {
            self.cat = []
        }
        
        if let orgDict = dictionary["org"] as? [AnyHashable: String], let orgName = orgDict["name"] {
            self.org = orgName
        }
        else {
            self.org = ""
        }
        
        self.availability = dictionary["availability"] as? String
    }
    
    public func fullName() -> String {
        var fullName = ""
        if UserSettings.shared().displayOrderFirstName == true {
            if first != nil {
                fullName.append(first!)
            }
            if last != nil {
                if !fullName.isEmpty {
                    fullName.append(" ")
                }
                fullName.append(last!)
            }
        }
        else {
            if last != nil {
                fullName.append(last!)
            }
            if first != nil {
                if !fullName.isEmpty {
                    fullName.append(" ")
                }
                fullName.append(first!)
            }
        }
        
        return fullName
    }
    
    public func fullNameWithCSI() -> String {
        // swiftformat:disable:next redundantSelf
        var fullName = self.fullName()
        
        if csi != nil {
            if !fullName.isEmpty {
                fullName.append(" ")
            }
            fullName.append("(" + csi! + ")")
        }
        
        return fullName
    }
    
    public func categoryString() -> String {
        if cat != nil {
            let categoryDict: [String: String] = MyIdentityStore.shared().directoryCategories as! [String: String]
            var categoryString = ""
            for category in cat! {
                if !categoryString.isEmpty {
                    categoryString.append(", ")
                }
                if let catName = categoryDict[category] {
                    categoryString.append(catName)
                }
            }
            return categoryString
        }
        return ""
    }
    
    public func categoryWithOrganisationString() -> String {
        let catString = categoryString()
        if let organisationName = org, !organisationName.isEmpty,
           organisationName != MyIdentityStore.shared().companyName {
            if !catString.isEmpty {
                return organisationName + ", " + catString
            }
            return organisationName
        }
        return categoryString()
    }
}

Messung
CHZG
869410093

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.