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(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
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/csv 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"}}}