/* Options: Date: 2026-06-06 01:18:07 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: SchedeArticolo.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/magazzino/articoli/elenco", "GET") // @Route("/magazzino/articoli/elenco/da/{FromId}", "GET") public class SchedeArticolo : IReturn, Codable { public typealias Return = SchedeArticoloResponse public var fromId:Int? required public init(){} } // @Route("/magazzino/articoli", "PUT") // @Route("/magazzino/articoli/id/{Id}", "PUT,GET") // @Route("/magazzino/articoli/codice/{Codice}", "PUT,GET") public class SchedaArticolo : IReturn, Codable { public typealias Return = SchedaArticolo public var id:Int? public var codice:String? public var tipoArticolo:TipoArticolo? public var descrizione:String? public var barcode:String? public var descrizioneEstesa:String? public var lottoRiordino:Double? public var prezzoAcquisto:Double? public var prezzoVendita:Double? public var isEsclusoDaListe:Bool? public var isNascondiInStampa:Bool? public var gruppo:FK_Gruppo? public var famigliaMerceologica:FK_FamigliaMerceologica? public var marca:FK_Marca? public var udM:FK_UdM? public var aliquotaIVA:FK_AliquotaIVA? public var contoAcquisto:FK_Conto? public var contoVendita:FK_Conto? required public init(){} } // @Route("/magazzino/articoli/listini", "PUT,GET") public class VoceListino : IReturn, Codable { public typealias Return = VoceListino public var listino:FK_Listino? public var articolo:FK_Articolo? public var codiceOrdine:String? public var barcode:String? public var prezzoAcquisto:Double? public var prezzoVendita:Double? required public init(){} } public class SchedeArticoloResponse : Codable { public var risultati:[SchedaArticoloConDatiAggiuntivi] = [] required public init(){} } public class SchedaArticoloConDatiAggiuntivi : Codable { public var scheda:SchedaArticolo? public var giacenze:[Giacenza] = [] public var listini:[VoceListino] = [] required public init(){} } public class FK : Codable { public var id:Int? required public init(){} } 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 class Giacenza : Codable { public var magazzino:FK_Magazzino? public var quantita:Double? required public init(){} } public class FK_Magazzino : FK, IUniqueDescrizione, IUniqueCodiceExport { public var descrizione:String? public var codiceExport:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case descrizione case codiceExport } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione) 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 descrizione != nil { try container.encode(descrizione, forKey: .descrizione) } if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) } } }