/* Options: Date: 2026-06-06 05:48:02 SwiftVersion: 5.0 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://link.dc8.unico3.cloud //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: Anagrafica.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/anagrafiche/", "PUT") // @Route("/anagrafiche/{Id}", "PUT,GET") // @Route("/anagrafiche/codice/{Codice}", "PUT,GET") // @Route("/anagrafiche/codiceexport/{CodiceExport}", "PUT,GET") public class Anagrafica : IReturn, Codable { public typealias Return = Anagrafica public var id:Int? public var codice:Int? public var codiceExport:String? public var tipoPersona:TipoPersona? public var denominazione:String? public var nome:String? public var cognome:String? public var codiceFiscale:String? public var piva:String? public var profiloFGas:ProfiloFGas? public var tipoSoggettoSdI:TipoSoggettoSdI? public var codiceSdI:String? public var pecSdI:String? public var email:String? public var tribunale:String? public var pec:String? public var cciaa:String? public var eori:String? public var tipoTelefono1:TipoTelefono? public var tipoTelefono2:TipoTelefono? public var tipoTelefono3:TipoTelefono? public var telefono1:String? public var telefono2:String? public var telefono3:String? public var indirizzo:String? public var numeroCivico:String? public var comune:FK_Comune? public var gruppo:String? public var suffisso:String? public var notePrincipali:String? public var noteStorico:String? public var noteRiservato:String? public var noteBloccato:String? public var isCliente:Bool? public var datiVendita:DatiCliente? public var isFornitore:Bool? public var datiAcquisto:DatiFornitore? required public init(){} } public enum TipoPersona : String, Codable { case Giuridica case Fisica } public enum ProfiloFGas : Int, Codable { case Privato = 1 case Impresa = 2 case Enti = 3 case Altro = 4 } public enum TipoSoggettoSdI : Int, Codable { case Privato = 1 case PA = 2 case SoggettoSdI = 3 case NonSoggettoSdI = 4 case Condominio = 5 } public enum TipoTelefono : String, Codable { case Fisso case Fax case Cellulare case SMS } public class FK_Comune : FK { public var cap:String? public var denominazione:String? public var provincia:String? public var codiceISTAT:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case cap case denominazione case provincia case codiceISTAT } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) cap = try container.decodeIfPresent(String.self, forKey: .cap) denominazione = try container.decodeIfPresent(String.self, forKey: .denominazione) provincia = try container.decodeIfPresent(String.self, forKey: .provincia) codiceISTAT = try container.decodeIfPresent(String.self, forKey: .codiceISTAT) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if cap != nil { try container.encode(cap, forKey: .cap) } if denominazione != nil { try container.encode(denominazione, forKey: .denominazione) } if provincia != nil { try container.encode(provincia, forKey: .provincia) } if codiceISTAT != nil { try container.encode(codiceISTAT, forKey: .codiceISTAT) } } } public class DatiCliente : Codable { public var contoCliente:FK_Conto? public var pagamento:FK_Pagamento? public var aliquotaIVA:FK_AliquotaIVA? public var scontoAbituale:String? public var listino:FK_Listino? public var isRitenutaAcconto:Bool? required public init(){} } public class DatiFornitore : Codable { public var listino:FK_Listino? public var pagamento:FK_Pagamento? public var contoFornitore:FK_Conto? public var contropartita:FK_Conto? required public init(){} } public class FK_AliquotaIVA : FK, IUniqueCodice, IUniqueCodiceExport { public var codice:String? public var codiceExport:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case codice case codiceExport } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) codice = try container.decodeIfPresent(String.self, forKey: .codice) codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if codice != nil { try container.encode(codice, forKey: .codice) } if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) } } } public class FK_Conto : FK, IUniqueCodice, IUniqueCodiceExport { public var codice:String? public var codiceExport:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case codice case codiceExport } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) codice = try container.decodeIfPresent(String.self, forKey: .codice) codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if codice != nil { try container.encode(codice, forKey: .codice) } if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) } } } public class FK_Listino : FK, IUniqueCodice, IUniqueDescrizione { public var codice:String? public var descrizione:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case codice case descrizione } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) codice = try container.decodeIfPresent(String.self, forKey: .codice) descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if codice != nil { try container.encode(codice, forKey: .codice) } if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) } } } public class FK : Codable { public var id:Int? required public init(){} } public class FK_Pagamento : FK, IUniqueDescrizione, IUniqueCodiceExport { public var codiceExport:String? public var descrizione:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case codiceExport case descrizione } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport) descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) } if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) } } } public protocol IForeignKey { var id:Int? { get set } } public protocol IUniqueDescrizione : IForeignKey { var descrizione:String? { get set } } public protocol IUniqueCodiceExport : IForeignKey { var codiceExport:String? { get set } } public protocol IUniqueCodice : IForeignKey { var codice:String? { get set } }