/* Options: Date: 2026-06-06 01:28:32 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: Impianto.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/assistenza/impianti", "PUT") // @Route("/assistenza/impianti/id/{Id}", "PUT,GET") // @Route("/assistenza/impianti/codice/{Codice}", "PUT,GET") // @Route("/assistenza/impianti/codiceexport/{CodiceExport}", "PUT,GET") public class Impianto : IReturn, Codable { public typealias Return = Impianto public var id:Int? public var codice:Int? public var codiceExport:String? public var nominativo: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 zona:FK_Zona? public var palazzo:String? public var scala:String? public var piano:String? public var interno:String? public var citofono:String? public var gruppo:String? public var suffisso:String? public var tipologia:FK_TipologiaImpianto? public var cat:FK_CAT? public var combustibile:FK_Combustibile? required public init(){} } 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 FK_Zona : FK, IUniqueSigla, IUniqueDescrizione { public var sigla:String? public var descrizione:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case sigla case descrizione } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) sigla = try container.decodeIfPresent(String.self, forKey: .sigla) 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 sigla != nil { try container.encode(sigla, forKey: .sigla) } if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) } } } public class FK_TipologiaImpianto : 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 class FK_CAT : FK, IUniqueCodice { public var codice:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case codice } 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) } 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) } } } public class FK_Combustibile : 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 class FK : Codable { public var id:Int? required public init(){} } public protocol IUniqueSigla : IForeignKey { var sigla:String? { get set } } 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 } }