Portal

<back to all web services

AddCompliance

The following routes are available for this service:
POST/tender/{tenderid}/user/{userid}/compliance
import Foundation
import ServiceStack

public class AddCompliance : ModifyComplianceBase, IPost
{
    public var tenderId:Int
    public var userId:Int
    public var privateOwners:[AddCompliancePrivateOwner] = []
    public var actualOwners:[AddComplianceActualOwner] = []
    public var organizationOwners:[AddComplianceOrganizationOwner] = []

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case tenderId
        case userId
        case privateOwners
        case actualOwners
        case organizationOwners
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        tenderId = try container.decodeIfPresent(Int.self, forKey: .tenderId)
        userId = try container.decodeIfPresent(Int.self, forKey: .userId)
        privateOwners = try container.decodeIfPresent([AddCompliancePrivateOwner].self, forKey: .privateOwners) ?? []
        actualOwners = try container.decodeIfPresent([AddComplianceActualOwner].self, forKey: .actualOwners) ?? []
        organizationOwners = try container.decodeIfPresent([AddComplianceOrganizationOwner].self, forKey: .organizationOwners) ?? []
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if tenderId != nil { try container.encode(tenderId, forKey: .tenderId) }
        if userId != nil { try container.encode(userId, forKey: .userId) }
        if privateOwners.count > 0 { try container.encode(privateOwners, forKey: .privateOwners) }
        if actualOwners.count > 0 { try container.encode(actualOwners, forKey: .actualOwners) }
        if organizationOwners.count > 0 { try container.encode(organizationOwners, forKey: .organizationOwners) }
    }
}

public class ModifyComplianceBase : ModifyRequestBase
{
    public var isPreventCorruptionRisk:Bool?
    public var antiCorruptionMeasuresDescription:String
    public var isPartnerCorrupt:Bool?
    public var isCorruptionInspection:Bool?
    public var criminalJudgement:String
    public var isPartnerConvictedCorruption:Bool?
    public var partnerConvictedEDocument:String
    public var partnerConvictedDetails:String
    public var isSelfExoneration:Bool?
    public var selfExonerationDetails:String
    public var isPartnerPEPContact:Bool?
    public var partnerPEPContactDetails:String
    public var isPartnerPEP:Bool?
    public var partnerPEPDetails:String
    public var other:String
    public var isActualOwner:Bool?
    public var actualOwnerComment:String
    public var isPrivateOwner:Bool?
    public var isOrganizationOwner:Bool?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case isPreventCorruptionRisk
        case antiCorruptionMeasuresDescription
        case isPartnerCorrupt
        case isCorruptionInspection
        case criminalJudgement
        case isPartnerConvictedCorruption
        case partnerConvictedEDocument
        case partnerConvictedDetails
        case isSelfExoneration
        case selfExonerationDetails
        case isPartnerPEPContact
        case partnerPEPContactDetails
        case isPartnerPEP
        case partnerPEPDetails
        case other
        case isActualOwner
        case actualOwnerComment
        case isPrivateOwner
        case isOrganizationOwner
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        isPreventCorruptionRisk = try container.decodeIfPresent(Bool.self, forKey: .isPreventCorruptionRisk)
        antiCorruptionMeasuresDescription = try container.decodeIfPresent(String.self, forKey: .antiCorruptionMeasuresDescription)
        isPartnerCorrupt = try container.decodeIfPresent(Bool.self, forKey: .isPartnerCorrupt)
        isCorruptionInspection = try container.decodeIfPresent(Bool.self, forKey: .isCorruptionInspection)
        criminalJudgement = try container.decodeIfPresent(String.self, forKey: .criminalJudgement)
        isPartnerConvictedCorruption = try container.decodeIfPresent(Bool.self, forKey: .isPartnerConvictedCorruption)
        partnerConvictedEDocument = try container.decodeIfPresent(String.self, forKey: .partnerConvictedEDocument)
        partnerConvictedDetails = try container.decodeIfPresent(String.self, forKey: .partnerConvictedDetails)
        isSelfExoneration = try container.decodeIfPresent(Bool.self, forKey: .isSelfExoneration)
        selfExonerationDetails = try container.decodeIfPresent(String.self, forKey: .selfExonerationDetails)
        isPartnerPEPContact = try container.decodeIfPresent(Bool.self, forKey: .isPartnerPEPContact)
        partnerPEPContactDetails = try container.decodeIfPresent(String.self, forKey: .partnerPEPContactDetails)
        isPartnerPEP = try container.decodeIfPresent(Bool.self, forKey: .isPartnerPEP)
        partnerPEPDetails = try container.decodeIfPresent(String.self, forKey: .partnerPEPDetails)
        other = try container.decodeIfPresent(String.self, forKey: .other)
        isActualOwner = try container.decodeIfPresent(Bool.self, forKey: .isActualOwner)
        actualOwnerComment = try container.decodeIfPresent(String.self, forKey: .actualOwnerComment)
        isPrivateOwner = try container.decodeIfPresent(Bool.self, forKey: .isPrivateOwner)
        isOrganizationOwner = try container.decodeIfPresent(Bool.self, forKey: .isOrganizationOwner)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if isPreventCorruptionRisk != nil { try container.encode(isPreventCorruptionRisk, forKey: .isPreventCorruptionRisk) }
        if antiCorruptionMeasuresDescription != nil { try container.encode(antiCorruptionMeasuresDescription, forKey: .antiCorruptionMeasuresDescription) }
        if isPartnerCorrupt != nil { try container.encode(isPartnerCorrupt, forKey: .isPartnerCorrupt) }
        if isCorruptionInspection != nil { try container.encode(isCorruptionInspection, forKey: .isCorruptionInspection) }
        if criminalJudgement != nil { try container.encode(criminalJudgement, forKey: .criminalJudgement) }
        if isPartnerConvictedCorruption != nil { try container.encode(isPartnerConvictedCorruption, forKey: .isPartnerConvictedCorruption) }
        if partnerConvictedEDocument != nil { try container.encode(partnerConvictedEDocument, forKey: .partnerConvictedEDocument) }
        if partnerConvictedDetails != nil { try container.encode(partnerConvictedDetails, forKey: .partnerConvictedDetails) }
        if isSelfExoneration != nil { try container.encode(isSelfExoneration, forKey: .isSelfExoneration) }
        if selfExonerationDetails != nil { try container.encode(selfExonerationDetails, forKey: .selfExonerationDetails) }
        if isPartnerPEPContact != nil { try container.encode(isPartnerPEPContact, forKey: .isPartnerPEPContact) }
        if partnerPEPContactDetails != nil { try container.encode(partnerPEPContactDetails, forKey: .partnerPEPContactDetails) }
        if isPartnerPEP != nil { try container.encode(isPartnerPEP, forKey: .isPartnerPEP) }
        if partnerPEPDetails != nil { try container.encode(partnerPEPDetails, forKey: .partnerPEPDetails) }
        if other != nil { try container.encode(other, forKey: .other) }
        if isActualOwner != nil { try container.encode(isActualOwner, forKey: .isActualOwner) }
        if actualOwnerComment != nil { try container.encode(actualOwnerComment, forKey: .actualOwnerComment) }
        if isPrivateOwner != nil { try container.encode(isPrivateOwner, forKey: .isPrivateOwner) }
        if isOrganizationOwner != nil { try container.encode(isOrganizationOwner, forKey: .isOrganizationOwner) }
    }
}

public class ModifyRequestBase : IConcurrencyStamp, Codable
{
    public var concurrencyStamp:String

    required public init(){}
}

public class AddCompliancePrivateOwner : Codable
{
    public var name:String
    public var birthDate:Date?
    public var ownership:Double

    required public init(){}
}

public class AddComplianceActualOwner : Codable
{
    public var name:String
    public var birthDate:Date?
    public var ownership:Double

    required public init(){}
}

public class AddComplianceOrganizationOwner : Codable
{
    public var countryId:Int
    public var vatNumber:String
    public var registrationNumber:String
    public var name:String
    public var shortName:String
    public var address:String
    public var mainActivity:String
    public var establishedDate:Date
    public var ownership:Double

    required public init(){}
}

public class ModifyEntityResponse : ResponseBase
{
    public var id:Int

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case id
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        id = try container.decodeIfPresent(Int.self, forKey: .id)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if id != nil { try container.encode(id, forKey: .id) }
    }
}

public class ResponseBase : Codable
{
    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift AddCompliance DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /tender/{tenderid}/user/{userid}/compliance HTTP/1.1 
Host: szallitoiportal-be.veolia.hu 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"TenderId":0,"UserId":0,"PrivateOwners":[{"Name":"String","BirthDate":"0001-01-01T00:00:00.0000000","Ownership":0}],"ActualOwners":[{"Name":"String","BirthDate":"0001-01-01T00:00:00.0000000","Ownership":0}],"OrganizationOwners":[{"CountryId":0,"VatNumber":"String","RegistrationNumber":"String","Name":"String","ShortName":"String","Address":"String","MainActivity":"String","EstablishedDate":"0001-01-01T00:00:00.0000000","Ownership":0}],"IsPreventCorruptionRisk":false,"AntiCorruptionMeasuresDescription":"String","IsPartnerCorrupt":false,"IsCorruptionInspection":false,"CriminalJudgement":"String","IsPartnerConvictedCorruption":false,"PartnerConvictedEDocument":"String","PartnerConvictedDetails":"String","IsSelfExoneration":false,"SelfExonerationDetails":"String","IsPartnerPEPContact":false,"PartnerPEPContactDetails":"String","IsPartnerPEP":false,"PartnerPEPDetails":"String","Other":"String","IsActualOwner":false,"ActualOwnerComment":"String","IsPrivateOwner":false,"IsOrganizationOwner":false,"ConcurrencyStamp":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Id":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}