""" Options: Date: 2026-06-06 01:00:23 Version: 5.140 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://link.dc8.unico3.cloud #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: SchedeArticolo.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum # @Route("/magazzino/articoli", "PUT") # @Route("/magazzino/articoli/id/{Id}", "PUT,GET") # @Route("/magazzino/articoli/codice/{Codice}", "PUT,GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SchedaArticolo(IReturn["SchedaArticolo"]): id: Optional[int] = None codice: Optional[str] = None tipo_articolo: Optional[TipoArticolo] = None descrizione: Optional[str] = None barcode: Optional[str] = None descrizione_estesa: Optional[str] = None lotto_riordino: Optional[float] = None prezzo_acquisto: Optional[float] = None prezzo_vendita: Optional[float] = None is_escluso_da_liste: Optional[bool] = None is_nascondi_in_stampa: Optional[bool] = None gruppo: Optional[FK_Gruppo] = None famiglia_merceologica: Optional[FK_FamigliaMerceologica] = None marca: Optional[FK_Marca] = None ud_m: Optional[FK_UdM] = None aliquota_i_v_a: Optional[FK_AliquotaIVA] = None conto_acquisto: Optional[FK_Conto] = None conto_vendita: Optional[FK_Conto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FK: id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FK_Magazzino(FK, IUniqueDescrizione, IUniqueCodiceExport): descrizione: Optional[str] = None codice_export: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Giacenza: magazzino: Optional[FK_Magazzino] = None quantita: float = 0.0 # @Route("/magazzino/articoli/listini", "PUT,GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class VoceListino(IReturn["VoceListino"]): listino: Optional[FK_Listino] = None articolo: Optional[FK_Articolo] = None codice_ordine: Optional[str] = None barcode: Optional[str] = None prezzo_acquisto: Optional[float] = None prezzo_vendita: Optional[float] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SchedaArticoloConDatiAggiuntivi: scheda: Optional[SchedaArticolo] = None giacenze: Optional[List[Giacenza]] = None listini: Optional[List[VoceListino]] = None class IForeignKey: id: Optional[int] = None class IUniqueDescrizione(IForeignKey): descrizione: Optional[str] = None class IUniqueCodiceExport(IForeignKey): codice_export: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SchedeArticoloResponse: risultati: Optional[List[SchedaArticoloConDatiAggiuntivi]] = None # @Route("/magazzino/articoli/elenco", "GET") # @Route("/magazzino/articoli/elenco/da/{FromId}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SchedeArticolo(IReturn[SchedeArticoloResponse]): from_id: Optional[int] = None