/Source/OffInvoiceWordAddIn/OffInvoiceWordAddIn/FacturaeFiles/Facturae.cs

http://offinvoice.codeplex.com · C# · 6622 lines · 4200 code · 1941 blank · 481 comment · 0 complexity · c7b7414d7cd5a159a6774bb64faace37 MD5 · raw file

Large files are truncated click here to view the full file

  1. // ----------------------------------------------------------------------------------------
  2. // Author: Magaly Vargas y Joaquín López
  3. // Company: ALBALIA INTERACTIVA S.L.
  4. // Assembly version: 1.0.0.0
  5. // Date: 22/02/2010
  6. // Time: 12:00
  7. // Solution Name: OffInvoiceWordAddIn
  8. // Solution Filename: OffInvoiceWordAddIn
  9. // Solution FullFilename: C:\Desarrollo\OffInvoiceWordAddIn
  10. // Project Name: OffInvoiceWordAddIn
  11. // Project Filename: OffInvoiceWordAddIn.csproj
  12. // Project FullFilename: C:\Desarrollo\OffInvoiceWordAddIn\OffInvoiceWordAddIn.csproj
  13. // Project Item Name: Facturae.cs
  14. // Project Item Filename: Facturae.cs
  15. // Project Item FullFilename: C:\Desarrollo\OffInvoiceWordAddIn\FacturaeFiles\Facturae.cs
  16. // Project Item Kind: Código
  17. // Purpose:
  18. //Copyright © 2009 - 2010 Albalia Interactiva S.L. Reservados todos los derechos.
  19. // ----------------------------------------------------------------------------------------
  20. using System;
  21. using System.Xml.Serialization;
  22. using System.Collections.Generic;
  23. using System.CodeDom.Compiler;
  24. using System.ComponentModel;
  25. using System.Diagnostics;
  26. using System.Xml.Schema;
  27. using System.Xml;
  28. namespace OffInvoiceWordAddIn.FacturaeFiles
  29. {
  30. /// <summary>
  31. /// Clase serializable que representa la estructura de la facturae
  32. /// </summary>
  33. /// <remarks>
  34. /// Contiene los distintos tipos de objetos a utilizar para la generación de la factura
  35. /// </remarks>
  36. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  37. [SerializableAttribute()]
  38. [DebuggerStepThroughAttribute()]
  39. [DesignerCategoryAttribute("code")]
  40. [XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  41. //[XmlRootAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae", IsNullable = false)]
  42. public partial class Facturae
  43. {
  44. private FileHeaderType fileHeaderField;
  45. private PartiesType partiesField;
  46. private List<InvoiceType> invoicesField;
  47. private ExtensionsType extensionsField;
  48. public Facturae()
  49. {
  50. fileHeaderField = new FileHeaderType();
  51. partiesField = new PartiesType();
  52. invoicesField = new List<InvoiceType>();
  53. }
  54. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  55. public FileHeaderType FileHeader
  56. {
  57. get
  58. {
  59. return this.fileHeaderField;
  60. }
  61. set
  62. {
  63. this.fileHeaderField = value;
  64. }
  65. }
  66. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  67. public PartiesType Parties
  68. {
  69. get
  70. {
  71. return this.partiesField;
  72. }
  73. set
  74. {
  75. this.partiesField = value;
  76. }
  77. }
  78. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  79. [XmlArrayItemAttribute("Invoice", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  80. public List<InvoiceType> Invoices
  81. {
  82. get
  83. {
  84. return this.invoicesField;
  85. }
  86. set
  87. {
  88. this.invoicesField = value;
  89. }
  90. }
  91. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  92. public ExtensionsType Extensions
  93. {
  94. get
  95. {
  96. return this.extensionsField;
  97. }
  98. set
  99. {
  100. this.extensionsField = value;
  101. }
  102. }
  103. }
  104. /// <summary>
  105. /// Clase utilizada dentro de la Clase Facturae, Representacion de .net para el encabezado del documneto xml de una Facturae
  106. /// </summary>
  107. /// <remarks>
  108. /// Especifica:
  109. /// Version del esquema, modalidad, tipo de emisor, datos del tercero, e informacion referente al lote de facturas
  110. /// </remarks>
  111. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  112. [SerializableAttribute()]
  113. [DebuggerStepThroughAttribute()]
  114. [DesignerCategoryAttribute("code")]
  115. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  116. public partial class FileHeaderType
  117. {
  118. private SchemaVersionType schemaVersionField;
  119. private ModalityType modalityField;
  120. private InvoiceIssuerTypeType invoiceIssuerTypeField;
  121. private ThirdPartyType thirdPartyField;
  122. private BatchType batchField;
  123. private FactoringAssignmentDataType factoringAssignmentDataField;
  124. public FileHeaderType()
  125. {
  126. this.schemaVersionField = SchemaVersionType.Item31;
  127. this.invoiceIssuerTypeField = new InvoiceIssuerTypeType();
  128. }
  129. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  130. public SchemaVersionType SchemaVersion
  131. {
  132. get
  133. {
  134. return this.schemaVersionField;
  135. }
  136. set
  137. {
  138. this.schemaVersionField = value;
  139. }
  140. }
  141. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  142. public ModalityType Modality
  143. {
  144. get
  145. {
  146. return this.modalityField;
  147. }
  148. set
  149. {
  150. this.modalityField = value;
  151. }
  152. }
  153. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  154. public InvoiceIssuerTypeType InvoiceIssuerType
  155. {
  156. get
  157. {
  158. return this.invoiceIssuerTypeField;
  159. }
  160. set
  161. {
  162. this.invoiceIssuerTypeField = value;
  163. }
  164. }
  165. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  166. public ThirdPartyType ThirdParty
  167. {
  168. get
  169. {
  170. return this.thirdPartyField;
  171. }
  172. set
  173. {
  174. this.thirdPartyField = value;
  175. }
  176. }
  177. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  178. public BatchType Batch
  179. {
  180. get
  181. {
  182. return this.batchField;
  183. }
  184. set
  185. {
  186. this.batchField = value;
  187. }
  188. }
  189. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  190. public FactoringAssignmentDataType FactoringAssignmentData
  191. {
  192. get
  193. {
  194. return this.factoringAssignmentDataField;
  195. }
  196. set
  197. {
  198. this.factoringAssignmentDataField = value;
  199. }
  200. }
  201. }
  202. /// <summary>
  203. /// Enumerado que brinda el tipo de version del esquema de facturae.
  204. /// a la fecha existen dos tipos el V3.0 y el V3.1, para efectos de la facturae generada con la aplicación se utiliza el segundo
  205. /// </summary>
  206. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  207. [SerializableAttribute()]
  208. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  209. public enum SchemaVersionType
  210. {
  211. [XmlEnumAttribute("3.1")]
  212. Item31,
  213. [XmlEnumAttribute("3.2")]
  214. Item32,
  215. }
  216. /// <summary>
  217. /// Enumerado que brinda los tipos de modalidad de la factura: Individual (I) ó Lote (L)
  218. /// Para efectos de la aplicacion se utilizará siempre la modalidad (I) por lo que el valor para
  219. /// el campo InvoicesCount de la clase Batch siempre sera 1
  220. /// </summary>
  221. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  222. [SerializableAttribute()]
  223. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  224. public enum ModalityType
  225. {
  226. /// <summary>
  227. /// Individual
  228. /// </summary>
  229. I,
  230. /// <summary>
  231. /// Lote
  232. /// </summary>
  233. L,
  234. }
  235. /// <summary>
  236. /// Enumerado que brinda los tres tipos de emisor ó firmante de una factura:
  237. /// Emisor (E) en facturas de clientes, Receptor en facturas de provedores (RE), ó Tercero en facturas generadas por una ente externo (TE)
  238. /// </summary>
  239. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  240. [SerializableAttribute()]
  241. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  242. public enum InvoiceIssuerTypeType
  243. {
  244. /// <summary>
  245. /// Emisor
  246. /// </summary>
  247. EM,
  248. /// <summary>
  249. /// Receptor
  250. /// </summary>
  251. RE,
  252. /// <summary>
  253. /// Tercero
  254. /// </summary>
  255. TE,
  256. }
  257. /// <summary>
  258. /// Clase que representa la estructura de la sección de datos del tercero, en caso de que el valor del campo InvoiceIssuerType sea "TE"
  259. /// </summary>
  260. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  261. [SerializableAttribute()]
  262. [DebuggerStepThroughAttribute()]
  263. [DesignerCategoryAttribute("code")]
  264. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  265. public partial class ThirdPartyType
  266. {
  267. private TaxIdentificationType taxIdentificationField;
  268. private object itemField;
  269. public ThirdPartyType()
  270. {
  271. taxIdentificationField = new TaxIdentificationType();
  272. }
  273. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  274. public TaxIdentificationType TaxIdentification
  275. {
  276. get
  277. {
  278. return this.taxIdentificationField;
  279. }
  280. set
  281. {
  282. this.taxIdentificationField = value;
  283. }
  284. }
  285. [XmlElementAttribute("Individual", typeof(IndividualType), Form = XmlSchemaForm.Unqualified)]
  286. [XmlElementAttribute("LegalEntity", typeof(LegalEntityType), Form = XmlSchemaForm.Unqualified)]
  287. public object Item
  288. {
  289. get
  290. {
  291. return this.itemField;
  292. }
  293. set
  294. {
  295. this.itemField = value;
  296. }
  297. }
  298. }
  299. /// <summary>
  300. /// Clase que representa informacion de identificacion de las partes envueltas en la factura emisor, cliente o receptor ó tercero
  301. /// <para>Especifica campos como tipo de persona, tipo de residente, NIF</para>
  302. /// </summary>
  303. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  304. [SerializableAttribute()]
  305. [DebuggerStepThroughAttribute()]
  306. [DesignerCategoryAttribute("code")]
  307. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  308. public partial class TaxIdentificationType
  309. {
  310. private PersonTypeCodeType personTypeCodeField;
  311. private ResidenceTypeCodeType residenceTypeCodeField;
  312. private string taxIdentificationNumberField;
  313. public TaxIdentificationType()
  314. {
  315. }
  316. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  317. public PersonTypeCodeType PersonTypeCode
  318. {
  319. get
  320. {
  321. return this.personTypeCodeField;
  322. }
  323. set
  324. {
  325. this.personTypeCodeField = value;
  326. }
  327. }
  328. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  329. public ResidenceTypeCodeType ResidenceTypeCode
  330. {
  331. get
  332. {
  333. return this.residenceTypeCodeField;
  334. }
  335. set
  336. {
  337. this.residenceTypeCodeField = value;
  338. }
  339. }
  340. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  341. public string TaxIdentificationNumber
  342. {
  343. get
  344. {
  345. return this.taxIdentificationNumberField;
  346. }
  347. set
  348. {
  349. this.taxIdentificationNumberField = value;
  350. }
  351. }
  352. }
  353. /// <summary>
  354. /// Enumerado que brinda los tipos de persona
  355. /// </summary>
  356. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  357. [SerializableAttribute()]
  358. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  359. public enum PersonTypeCodeType
  360. {
  361. /// <summary>
  362. /// Persona físisca
  363. /// </summary>
  364. F,
  365. /// <summary>
  366. /// Persona Jurídica
  367. /// </summary>
  368. J,
  369. }
  370. /// <summary>
  371. /// Enumerado que brinda los tipos de residente
  372. /// </summary>
  373. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  374. [SerializableAttribute()]
  375. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  376. public enum ResidenceTypeCodeType
  377. {
  378. /// <summary>
  379. /// Extranjero
  380. /// </summary>
  381. E,
  382. /// <summary>
  383. /// Residente
  384. /// </summary>
  385. R,
  386. /// <summary>
  387. /// Residente en la Union Europea
  388. /// </summary>
  389. U,
  390. }
  391. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  392. [SerializableAttribute()]
  393. [DebuggerStepThroughAttribute()]
  394. [DesignerCategoryAttribute("code")]
  395. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  396. public partial class AttachmentType
  397. {
  398. private AttachmentCompressionAlgorithmType attachmentCompressionAlgorithmField;
  399. private bool attachmentCompressionAlgorithmFieldSpecified;
  400. private AttachmentFormatType attachmentFormatField;
  401. private AttachmentEncodingType attachmentEncodingField;
  402. private bool attachmentEncodingFieldSpecified;
  403. private string attachmentDescriptionField;
  404. private string attachmentDataField;
  405. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  406. public AttachmentCompressionAlgorithmType AttachmentCompressionAlgorithm
  407. {
  408. get
  409. {
  410. return this.attachmentCompressionAlgorithmField;
  411. }
  412. set
  413. {
  414. this.attachmentCompressionAlgorithmField = value;
  415. }
  416. }
  417. [XmlIgnoreAttribute()]
  418. public bool AttachmentCompressionAlgorithmSpecified
  419. {
  420. get
  421. {
  422. return this.attachmentCompressionAlgorithmFieldSpecified;
  423. }
  424. set
  425. {
  426. this.attachmentCompressionAlgorithmFieldSpecified = value;
  427. }
  428. }
  429. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  430. public AttachmentFormatType AttachmentFormat
  431. {
  432. get
  433. {
  434. return this.attachmentFormatField;
  435. }
  436. set
  437. {
  438. this.attachmentFormatField = value;
  439. }
  440. }
  441. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  442. public AttachmentEncodingType AttachmentEncoding
  443. {
  444. get
  445. {
  446. return this.attachmentEncodingField;
  447. }
  448. set
  449. {
  450. this.attachmentEncodingField = value;
  451. }
  452. }
  453. [XmlIgnoreAttribute()]
  454. public bool AttachmentEncodingSpecified
  455. {
  456. get
  457. {
  458. return this.attachmentEncodingFieldSpecified;
  459. }
  460. set
  461. {
  462. this.attachmentEncodingFieldSpecified = value;
  463. }
  464. }
  465. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  466. public string AttachmentDescription
  467. {
  468. get
  469. {
  470. return this.attachmentDescriptionField;
  471. }
  472. set
  473. {
  474. this.attachmentDescriptionField = value;
  475. }
  476. }
  477. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  478. public string AttachmentData
  479. {
  480. get
  481. {
  482. return this.attachmentDataField;
  483. }
  484. set
  485. {
  486. this.attachmentDataField = value;
  487. }
  488. }
  489. }
  490. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  491. [SerializableAttribute()]
  492. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  493. public enum AttachmentCompressionAlgorithmType
  494. {
  495. ZIP,
  496. GZIP,
  497. NONE,
  498. }
  499. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  500. [SerializableAttribute()]
  501. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  502. public enum AttachmentFormatType
  503. {
  504. xml,
  505. doc,
  506. gif,
  507. rtf,
  508. pdf,
  509. xls,
  510. jpg,
  511. bmp,
  512. tiff,
  513. }
  514. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  515. [SerializableAttribute()]
  516. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  517. public enum AttachmentEncodingType
  518. {
  519. BASE64,
  520. BER,
  521. DER,
  522. NONE,
  523. }
  524. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  525. [SerializableAttribute()]
  526. [DebuggerStepThroughAttribute()]
  527. [DesignerCategoryAttribute("code")]
  528. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  529. public partial class AdditionalDataType
  530. {
  531. private string relatedInvoiceField;
  532. private List<AttachmentType> relatedDocumentsField;
  533. private string invoiceAdditionalInformationField;
  534. private ExtensionsType extensionsField;
  535. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  536. public string RelatedInvoice
  537. {
  538. get
  539. {
  540. return this.relatedInvoiceField;
  541. }
  542. set
  543. {
  544. this.relatedInvoiceField = value;
  545. }
  546. }
  547. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  548. [XmlArrayItemAttribute("Attachment", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  549. public List<AttachmentType> RelatedDocuments
  550. {
  551. get
  552. {
  553. return this.relatedDocumentsField;
  554. }
  555. set
  556. {
  557. this.relatedDocumentsField = value;
  558. }
  559. }
  560. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  561. public string InvoiceAdditionalInformation
  562. {
  563. get
  564. {
  565. return this.invoiceAdditionalInformationField;
  566. }
  567. set
  568. {
  569. this.invoiceAdditionalInformationField = value;
  570. }
  571. }
  572. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  573. public ExtensionsType Extensions
  574. {
  575. get
  576. {
  577. return this.extensionsField;
  578. }
  579. set
  580. {
  581. this.extensionsField = value;
  582. }
  583. }
  584. }
  585. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  586. [SerializableAttribute()]
  587. [DebuggerStepThroughAttribute()]
  588. [DesignerCategoryAttribute("code")]
  589. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  590. public partial class ExtensionsType
  591. {
  592. private List<XmlElement> anyField;
  593. [XmlAnyElementAttribute()]
  594. public List<XmlElement> Any
  595. {
  596. get
  597. {
  598. return this.anyField;
  599. }
  600. set
  601. {
  602. this.anyField = value;
  603. }
  604. }
  605. }
  606. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  607. [SerializableAttribute()]
  608. [DebuggerStepThroughAttribute()]
  609. [DesignerCategoryAttribute("code")]
  610. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  611. public partial class AccountType
  612. {
  613. private string iBANField;
  614. private string bankCodeField;
  615. private string branchCodeField;
  616. private object itemField;
  617. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  618. public string IBAN
  619. {
  620. get
  621. {
  622. return this.iBANField;
  623. }
  624. set
  625. {
  626. this.iBANField = value;
  627. }
  628. }
  629. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  630. public string BankCode
  631. {
  632. get
  633. {
  634. return this.bankCodeField;
  635. }
  636. set
  637. {
  638. this.bankCodeField = value;
  639. }
  640. }
  641. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  642. public string BranchCode
  643. {
  644. get
  645. {
  646. return this.branchCodeField;
  647. }
  648. set
  649. {
  650. this.branchCodeField = value;
  651. }
  652. }
  653. [XmlElementAttribute("BranchInSpainAddress", typeof(AddressType), Form = XmlSchemaForm.Unqualified)]
  654. [XmlElementAttribute("OverseasBranchAddress", typeof(OverseasAddressType), Form = XmlSchemaForm.Unqualified)]
  655. public object Item
  656. {
  657. get
  658. {
  659. return this.itemField;
  660. }
  661. set
  662. {
  663. this.itemField = value;
  664. }
  665. }
  666. }
  667. /// <summary>
  668. /// Clase que representa la base para los apartados de dirección, tanto para AddressInSpain, como para OverSeasAddress
  669. /// </summary>
  670. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  671. [SerializableAttribute()]
  672. [DebuggerStepThroughAttribute()]
  673. [DesignerCategoryAttribute("code")]
  674. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  675. public partial class AddressType
  676. {
  677. /// <summary>
  678. /// Dirección completa
  679. /// </summary>
  680. private string addressField;
  681. /// <summary>
  682. /// Código Postal
  683. /// </summary>
  684. private string postCodeField;
  685. /// <summary>
  686. /// Población
  687. /// </summary>
  688. private string townField;
  689. /// <summary>
  690. /// Provincia
  691. /// </summary>
  692. private string provinceField;
  693. /// <summary>
  694. /// Código de País
  695. /// </summary>
  696. private CountryType countryCodeField;
  697. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  698. public string Address
  699. {
  700. get
  701. {
  702. return this.addressField;
  703. }
  704. set
  705. {
  706. this.addressField = value;
  707. }
  708. }
  709. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  710. public string PostCode
  711. {
  712. get
  713. {
  714. return this.postCodeField;
  715. }
  716. set
  717. {
  718. this.postCodeField = value;
  719. }
  720. }
  721. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  722. public string Town
  723. {
  724. get
  725. {
  726. return this.townField;
  727. }
  728. set
  729. {
  730. this.townField = value;
  731. }
  732. }
  733. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  734. public string Province
  735. {
  736. get
  737. {
  738. return this.provinceField;
  739. }
  740. set
  741. {
  742. this.provinceField = value;
  743. }
  744. }
  745. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  746. public CountryType CountryCode
  747. {
  748. get
  749. {
  750. return this.countryCodeField;
  751. }
  752. set
  753. {
  754. this.countryCodeField = value;
  755. }
  756. }
  757. }
  758. /// <summary>
  759. /// Enumerado que brinda los códigos de país contemplados por el esquema de facturae
  760. /// </summary>
  761. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  762. [SerializableAttribute()]
  763. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  764. public enum CountryType
  765. {
  766. AFG,
  767. ALB,
  768. DZA,
  769. ASM,
  770. AND,
  771. AGO,
  772. AIA,
  773. ATG,
  774. ARG,
  775. ARM,
  776. ABW,
  777. AUS,
  778. AUT,
  779. AZE,
  780. BHS,
  781. BHR,
  782. BGD,
  783. BRB,
  784. BLR,
  785. BEL,
  786. BLZ,
  787. BEN,
  788. BMU,
  789. BTN,
  790. BOL,
  791. BIH,
  792. BWA,
  793. BRA,
  794. BRN,
  795. BGR,
  796. BFA,
  797. BDI,
  798. KHM,
  799. CMR,
  800. CAN,
  801. CPV,
  802. CYM,
  803. CAF,
  804. TCD,
  805. CHL,
  806. CHN,
  807. COD,
  808. COL,
  809. COM,
  810. COG,
  811. COK,
  812. CRI,
  813. CIV,
  814. HRV,
  815. CUB,
  816. CYP,
  817. CZE,
  818. DNK,
  819. DJI,
  820. DMA,
  821. DOM,
  822. ECU,
  823. EGY,
  824. SLV,
  825. GNQ,
  826. ERI,
  827. EST,
  828. ETH,
  829. FLK,
  830. FRO,
  831. FJI,
  832. FIN,
  833. FRA,
  834. GUF,
  835. PYF,
  836. GAB,
  837. GMB,
  838. GEO,
  839. GGY,
  840. DEU,
  841. GHA,
  842. GIB,
  843. GRC,
  844. GRL,
  845. GRD,
  846. GLP,
  847. GUM,
  848. GTM,
  849. GIN,
  850. GNB,
  851. GUY,
  852. HTI,
  853. HND,
  854. HKG,
  855. HUN,
  856. ISL,
  857. IND,
  858. IDN,
  859. IMN,
  860. IRN,
  861. IRQ,
  862. IRL,
  863. ISR,
  864. ITA,
  865. JAM,
  866. JEY,
  867. JPN,
  868. JOR,
  869. KAZ,
  870. KEN,
  871. KIR,
  872. PRK,
  873. KOR,
  874. KWT,
  875. KGZ,
  876. LAO,
  877. LVA,
  878. LBN,
  879. LSO,
  880. LBR,
  881. LBY,
  882. LIE,
  883. LTU,
  884. LUX,
  885. MAC,
  886. MKD,
  887. MDG,
  888. MWI,
  889. MYS,
  890. MDV,
  891. MLI,
  892. MLT,
  893. MHL,
  894. MTQ,
  895. MRT,
  896. MUS,
  897. MYT,
  898. MEX,
  899. FSM,
  900. MDA,
  901. MCO,
  902. MNE,
  903. MNG,
  904. MSR,
  905. MAR,
  906. MOZ,
  907. MMR,
  908. NAM,
  909. NRU,
  910. NPL,
  911. NLD,
  912. ANT,
  913. NCL,
  914. NZL,
  915. NIC,
  916. NER,
  917. NGA,
  918. NIU,
  919. NFK,
  920. MNP,
  921. NOR,
  922. OMN,
  923. PAK,
  924. PLW,
  925. PAN,
  926. PNG,
  927. PRY,
  928. PSE,
  929. PER,
  930. PHL,
  931. PCN,
  932. POL,
  933. PRT,
  934. PRI,
  935. QAT,
  936. REU,
  937. ROU,
  938. RUS,
  939. RWA,
  940. KNA,
  941. LCA,
  942. VCT,
  943. WSM,
  944. SMR,
  945. STP,
  946. SAU,
  947. SEN,
  948. SRB,
  949. SYC,
  950. SLE,
  951. SGP,
  952. SVK,
  953. SVN,
  954. SLB,
  955. SOM,
  956. ZAF,
  957. ESP,
  958. LKA,
  959. SHN,
  960. SPM,
  961. SDN,
  962. SUR,
  963. SJM,
  964. SWZ,
  965. SWE,
  966. CHE,
  967. SYR,
  968. TWN,
  969. TJK,
  970. TZA,
  971. THA,
  972. TGO,
  973. TKL,
  974. TON,
  975. TTO,
  976. TUN,
  977. TUR,
  978. TKM,
  979. TLS,
  980. TCA,
  981. TUV,
  982. UGA,
  983. UKR,
  984. ARE,
  985. GBR,
  986. USA,
  987. URY,
  988. UZB,
  989. VUT,
  990. VAT,
  991. VEN,
  992. VNM,
  993. VGB,
  994. VIR,
  995. WLF,
  996. ESH,
  997. YEM,
  998. ZAR,
  999. ZMB,
  1000. ZWE,
  1001. }
  1002. /// <summary>
  1003. /// Tipo de Dirección que se utiliza para las partes(SellerParty, BuyerParty, ThirdParty), cuyo código de país es diferente a ESP
  1004. /// </summary>
  1005. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1006. [SerializableAttribute()]
  1007. [DebuggerStepThroughAttribute()]
  1008. [DesignerCategoryAttribute("code")]
  1009. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1010. public partial class OverseasAddressType
  1011. {
  1012. private string addressField;
  1013. private string postCodeAndTownField;
  1014. private string provinceField;
  1015. private CountryType countryCodeField;
  1016. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1017. public string Address
  1018. {
  1019. get
  1020. {
  1021. return this.addressField;
  1022. }
  1023. set
  1024. {
  1025. this.addressField = value;
  1026. }
  1027. }
  1028. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1029. public string PostCodeAndTown
  1030. {
  1031. get
  1032. {
  1033. return this.postCodeAndTownField;
  1034. }
  1035. set
  1036. {
  1037. this.postCodeAndTownField = value;
  1038. }
  1039. }
  1040. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1041. public string Province
  1042. {
  1043. get
  1044. {
  1045. return this.provinceField;
  1046. }
  1047. set
  1048. {
  1049. this.provinceField = value;
  1050. }
  1051. }
  1052. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1053. public CountryType CountryCode
  1054. {
  1055. get
  1056. {
  1057. return this.countryCodeField;
  1058. }
  1059. set
  1060. {
  1061. this.countryCodeField = value;
  1062. }
  1063. }
  1064. }
  1065. /// <summary>
  1066. /// Clase que representa al bloque de información del pago de la factura,
  1067. /// contempla aspectos como: fecha de pago, importe a pagar, medio de pago, datos de la cuenta y otros.
  1068. /// </summary>
  1069. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1070. [SerializableAttribute()]
  1071. [DebuggerStepThroughAttribute()]
  1072. [DesignerCategoryAttribute("code")]
  1073. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1074. public partial class InstallmentType
  1075. {
  1076. private DateTime installmentDueDateField;
  1077. private string installmentAmountField;
  1078. private string paymentMeansField;
  1079. private AccountType accountToBeCreditedField;
  1080. private string paymentReconciliationReferenceField;
  1081. private AccountType accountToBeDebitedField;
  1082. private string collectionAdditionalInformationField;
  1083. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified, DataType = "date")]
  1084. public DateTime InstallmentDueDate
  1085. {
  1086. get
  1087. {
  1088. return this.installmentDueDateField;
  1089. }
  1090. set
  1091. {
  1092. this.installmentDueDateField = value;
  1093. }
  1094. }
  1095. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1096. public string InstallmentAmount
  1097. {
  1098. get
  1099. {
  1100. return this.installmentAmountField;
  1101. }
  1102. set
  1103. {
  1104. this.installmentAmountField = value;
  1105. }
  1106. }
  1107. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1108. public string PaymentMeans
  1109. {
  1110. get
  1111. {
  1112. return this.paymentMeansField;
  1113. }
  1114. set
  1115. {
  1116. this.paymentMeansField = value;
  1117. }
  1118. }
  1119. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1120. public AccountType AccountToBeCredited
  1121. {
  1122. get
  1123. {
  1124. return this.accountToBeCreditedField;
  1125. }
  1126. set
  1127. {
  1128. this.accountToBeCreditedField = value;
  1129. }
  1130. }
  1131. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1132. public string PaymentReconciliationReference
  1133. {
  1134. get
  1135. {
  1136. return this.paymentReconciliationReferenceField;
  1137. }
  1138. set
  1139. {
  1140. this.paymentReconciliationReferenceField = value;
  1141. }
  1142. }
  1143. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1144. public AccountType AccountToBeDebited
  1145. {
  1146. get
  1147. {
  1148. return this.accountToBeDebitedField;
  1149. }
  1150. set
  1151. {
  1152. this.accountToBeDebitedField = value;
  1153. }
  1154. }
  1155. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1156. public string CollectionAdditionalInformation
  1157. {
  1158. get
  1159. {
  1160. return this.collectionAdditionalInformationField;
  1161. }
  1162. set
  1163. {
  1164. this.collectionAdditionalInformationField = value;
  1165. }
  1166. }
  1167. }
  1168. /// <summary>
  1169. /// Enumerado que brinda el código para los diferentes tipos de pago contemplados en el esquema de facturae
  1170. /// </summary>
  1171. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1172. [SerializableAttribute()]
  1173. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1174. public enum PaymentMeansType
  1175. {
  1176. [XmlEnumAttribute("01")]
  1177. Item01,
  1178. [XmlEnumAttribute("02")]
  1179. Item02,
  1180. [XmlEnumAttribute("03")]
  1181. Item03,
  1182. [XmlEnumAttribute("04")]
  1183. Item04,
  1184. [XmlEnumAttribute("05")]
  1185. Item05,
  1186. [XmlEnumAttribute("06")]
  1187. Item06,
  1188. [XmlEnumAttribute("07")]
  1189. Item07,
  1190. [XmlEnumAttribute("08")]
  1191. Item08,
  1192. [XmlEnumAttribute("09")]
  1193. Item09,
  1194. [XmlEnumAttribute("10")]
  1195. Item10,
  1196. [XmlEnumAttribute("11")]
  1197. Item11,
  1198. [XmlEnumAttribute("12")]
  1199. Item12,
  1200. [XmlEnumAttribute("13")]
  1201. Item13,
  1202. [XmlEnumAttribute("14")]
  1203. Item14,
  1204. [XmlEnumAttribute("15")]
  1205. Item15,
  1206. [XmlEnumAttribute("16")]
  1207. Item16,
  1208. [XmlEnumAttribute("17")]
  1209. Item17,
  1210. [XmlEnumAttribute("18")]
  1211. Item18,
  1212. [XmlEnumAttribute("19")]
  1213. Item19,
  1214. }
  1215. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1216. [SerializableAttribute()]
  1217. [DebuggerStepThroughAttribute()]
  1218. [DesignerCategoryAttribute("code")]
  1219. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1220. public partial class DeliveryNoteType
  1221. {
  1222. private string deliveryNoteNumberField;
  1223. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1224. public string DeliveryNoteNumber
  1225. {
  1226. get
  1227. {
  1228. return this.deliveryNoteNumberField;
  1229. }
  1230. set
  1231. {
  1232. this.deliveryNoteNumberField = value;
  1233. }
  1234. }
  1235. }
  1236. /// <summary>
  1237. /// clase que representa las lineas de detalle dentro de la facturae
  1238. /// </summary>
  1239. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1240. [SerializableAttribute()]
  1241. [DebuggerStepThroughAttribute()]
  1242. [DesignerCategoryAttribute("code")]
  1243. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1244. public partial class InvoiceLineType
  1245. {
  1246. private string issuerContractReferenceField;
  1247. private string issuerTransactionReferenceField;
  1248. private string receiverContractReferenceField;
  1249. private string receiverTransactionReferenceField;
  1250. private string purchaseOrderReferenceField;
  1251. private bool purchaseOrderReferenceFieldSpecified;
  1252. private List<DeliveryNoteType> deliveryNotesReferencesField;
  1253. private string itemDescriptionField;
  1254. private string quantityField;
  1255. private UnitOfMeasureType unitOfMeasureField;
  1256. private bool unitOfMeasureFieldSpecified;
  1257. private string unitPriceWithoutTaxField;
  1258. private string totalCostField;
  1259. private List<DiscountType> discountsAndRebatesField;
  1260. private List<ChargeType> chargesField;
  1261. private string grossAmountField;
  1262. private List<TaxType> taxesWithheldField;
  1263. private List<InvoiceLineTypeTax> taxesOutputsField;
  1264. private PeriodDates lineItemPeriodField;
  1265. private DateTime transactionDateField;
  1266. private bool transactionDateFieldSpecified;
  1267. private string additionalLineItemInformationField;
  1268. private ExtensionsType extensionsField;
  1269. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1270. public string IssuerContractReference
  1271. {
  1272. get
  1273. {
  1274. return this.issuerContractReferenceField;
  1275. }
  1276. set
  1277. {
  1278. this.issuerContractReferenceField = value;
  1279. }
  1280. }
  1281. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1282. public string IssuerTransactionReference
  1283. {
  1284. get
  1285. {
  1286. return this.issuerTransactionReferenceField;
  1287. }
  1288. set
  1289. {
  1290. this.issuerTransactionReferenceField = value;
  1291. }
  1292. }
  1293. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1294. public string ReceiverContractReference
  1295. {
  1296. get
  1297. {
  1298. return this.receiverContractReferenceField;
  1299. }
  1300. set
  1301. {
  1302. this.receiverContractReferenceField = value;
  1303. }
  1304. }
  1305. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1306. public string ReceiverTransactionReference
  1307. {
  1308. get
  1309. {
  1310. return this.receiverTransactionReferenceField;
  1311. }
  1312. set
  1313. {
  1314. this.receiverTransactionReferenceField = value;
  1315. }
  1316. }
  1317. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1318. public string PurchaseOrderReference
  1319. {
  1320. get
  1321. {
  1322. return this.purchaseOrderReferenceField;
  1323. }
  1324. set
  1325. {
  1326. this.purchaseOrderReferenceField = value;
  1327. }
  1328. }
  1329. [XmlIgnoreAttribute()]
  1330. public bool PurchaseOrderReferenceSpecified
  1331. {
  1332. get
  1333. {
  1334. return this.purchaseOrderReferenceFieldSpecified;
  1335. }
  1336. set
  1337. {
  1338. this.purchaseOrderReferenceFieldSpecified = value;
  1339. }
  1340. }
  1341. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  1342. [XmlArrayItemAttribute("DeliveryNote", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  1343. public List<DeliveryNoteType> DeliveryNotesReferences
  1344. {
  1345. get
  1346. {
  1347. return this.deliveryNotesReferencesField;
  1348. }
  1349. set
  1350. {
  1351. this.deliveryNotesReferencesField = value;
  1352. }
  1353. }
  1354. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1355. public string ItemDescription
  1356. {
  1357. get
  1358. {
  1359. return this.itemDescriptionField;
  1360. }
  1361. set
  1362. {
  1363. this.itemDescriptionField = value;
  1364. }
  1365. }
  1366. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1367. public string Quantity
  1368. {
  1369. get
  1370. {
  1371. return this.quantityField;
  1372. }
  1373. set
  1374. {
  1375. this.quantityField = value;
  1376. }
  1377. }
  1378. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1379. public UnitOfMeasureType UnitOfMeasure
  1380. {
  1381. get
  1382. {
  1383. return this.unitOfMeasureField;
  1384. }
  1385. set
  1386. {
  1387. this.unitOfMeasureField = value;
  1388. }
  1389. }
  1390. [XmlIgnoreAttribute()]
  1391. public bool UnitOfMeasureSpecified
  1392. {
  1393. get
  1394. {
  1395. return this.unitOfMeasureFieldSpecified;
  1396. }
  1397. set
  1398. {
  1399. this.unitOfMeasureFieldSpecified = value;
  1400. }
  1401. }
  1402. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1403. public string UnitPriceWithoutTax
  1404. {
  1405. get
  1406. {
  1407. return this.unitPriceWithoutTaxField;
  1408. }
  1409. set
  1410. {
  1411. this.unitPriceWithoutTaxField = value;
  1412. }
  1413. }
  1414. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1415. public string TotalCost
  1416. {
  1417. get
  1418. {
  1419. return this.totalCostField;
  1420. }
  1421. set
  1422. {
  1423. this.totalCostField = value;
  1424. }
  1425. }
  1426. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  1427. [XmlArrayItemAttribute("Discount", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  1428. public List<DiscountType> DiscountsAndRebates
  1429. {
  1430. get
  1431. {
  1432. return this.discountsAndRebatesField;
  1433. }
  1434. set
  1435. {
  1436. this.discountsAndRebatesField = value;
  1437. }
  1438. }
  1439. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  1440. [XmlArrayItemAttribute("Charge", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  1441. public List<ChargeType> Charges
  1442. {
  1443. get
  1444. {
  1445. return this.chargesField;
  1446. }
  1447. set
  1448. {
  1449. this.chargesField = value;
  1450. }
  1451. }
  1452. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1453. public string GrossAmount
  1454. {
  1455. get
  1456. {
  1457. return this.grossAmountField;
  1458. }
  1459. set
  1460. {
  1461. this.grossAmountField = value;
  1462. }
  1463. }
  1464. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  1465. [XmlArrayItemAttribute("Tax", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  1466. public List<TaxType> TaxesWithheld
  1467. {
  1468. get
  1469. {
  1470. return this.taxesWithheldField;
  1471. }
  1472. set
  1473. {
  1474. this.taxesWithheldField = value;
  1475. }
  1476. }
  1477. [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
  1478. [XmlArrayItemAttribute("Tax", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
  1479. public List<InvoiceLineTypeTax> TaxesOutputs
  1480. {
  1481. get
  1482. {
  1483. return this.taxesOutputsField;
  1484. }
  1485. set
  1486. {
  1487. this.taxesOutputsField = value;
  1488. }
  1489. }
  1490. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1491. public PeriodDates LineItemPeriod
  1492. {
  1493. get
  1494. {
  1495. return this.lineItemPeriodField;
  1496. }
  1497. set
  1498. {
  1499. this.lineItemPeriodField = value;
  1500. }
  1501. }
  1502. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified, DataType = "date")]
  1503. public DateTime TransactionDate
  1504. {
  1505. get
  1506. {
  1507. return this.transactionDateField;
  1508. }
  1509. set
  1510. {
  1511. this.transactionDateField = value;
  1512. }
  1513. }
  1514. [XmlIgnoreAttribute()]
  1515. public bool TransactionDateSpecified
  1516. {
  1517. get
  1518. {
  1519. return this.transactionDateFieldSpecified;
  1520. }
  1521. set
  1522. {
  1523. this.transactionDateFieldSpecified = value;
  1524. }
  1525. }
  1526. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1527. public string AdditionalLineItemInformation
  1528. {
  1529. get
  1530. {
  1531. return this.additionalLineItemInformationField;
  1532. }
  1533. set
  1534. {
  1535. this.additionalLineItemInformationField = value;
  1536. }
  1537. }
  1538. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1539. public ExtensionsType Extensions
  1540. {
  1541. get
  1542. {
  1543. return this.extensionsField;
  1544. }
  1545. set
  1546. {
  1547. this.extensionsField = value;
  1548. }
  1549. }
  1550. }
  1551. /// <summary>
  1552. /// Enumerado que brinda los códigos para las diferentes unidades de medida, contemplados en el esquema de facturae
  1553. /// </summary>
  1554. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1555. [SerializableAttribute()]
  1556. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1557. public enum UnitOfMeasureType
  1558. {
  1559. [XmlEnumAttribute("01")]
  1560. Item01,
  1561. [XmlEnumAttribute("02")]
  1562. Item02,
  1563. [XmlEnumAttribute("03")]
  1564. Item03,
  1565. [XmlEnumAttribute("04")]
  1566. Item04,
  1567. [XmlEnumAttribute("05")]
  1568. Item05,
  1569. [XmlEnumAttribute("06")]
  1570. Item06,
  1571. [XmlEnumAttribute("07")]
  1572. Item07,
  1573. [XmlEnumAttribute("08")]
  1574. Item08,
  1575. [XmlEnumAttribute("09")]
  1576. Item09,
  1577. [XmlEnumAttribute("10")]
  1578. Item10,
  1579. [XmlEnumAttribute("11")]
  1580. Item11,
  1581. [XmlEnumAttribute("12")]
  1582. Item12,
  1583. [XmlEnumAttribute("13")]
  1584. Item13,
  1585. [XmlEnumAttribute("14")]
  1586. Item14,
  1587. [XmlEnumAttribute("15")]
  1588. Item15,
  1589. [XmlEnumAttribute("16")]
  1590. Item16,
  1591. [XmlEnumAttribute("17")]
  1592. Item17,
  1593. [XmlEnumAttribute("18")]
  1594. Item18,
  1595. [XmlEnumAttribute("19")]
  1596. Item19,
  1597. [XmlEnumAttribute("20")]
  1598. Item20,
  1599. [XmlEnumAttribute("21")]
  1600. Item21,
  1601. [XmlEnumAttribute("22")]
  1602. Item22,
  1603. [XmlEnumAttribute("23")]
  1604. Item23,
  1605. [XmlEnumAttribute("24")]
  1606. Item24,
  1607. [XmlEnumAttribute("25")]
  1608. Item25,
  1609. [XmlEnumAttribute("26")]
  1610. Item26,
  1611. [XmlEnumAttribute("27")]
  1612. Item27,
  1613. [XmlEnumAttribute("28")]
  1614. Item28,
  1615. [XmlEnumAttribute("29")]
  1616. Item29,
  1617. [XmlEnumAttribute("30")]
  1618. Item30,
  1619. [XmlEnumAttribute("31")]
  1620. Item31,
  1621. [XmlEnumAttribute("32")]
  1622. Item32,
  1623. }
  1624. /// <summary>
  1625. /// Clase que representa los descuentos generales, especifica la razón del descuento, el porcentaje a aplicar sobre el importe total bruto y el importe a descontar
  1626. /// </summary>
  1627. [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
  1628. [SerializableAttribute()]
  1629. [DebuggerStepThroughAttribute()]
  1630. [DesignerCategoryAttribute("code")]
  1631. [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
  1632. public partial class DiscountType
  1633. {
  1634. /// <summary>
  1635. /// Razón o motivo del descuento
  1636. /// </summary>
  1637. private string discountReasonField;
  1638. /// <summary>
  1639. /// Porcentaje del descueto
  1640. /// </summary>
  1641. private string discountRateField;
  1642. /// <summary>
  1643. /// indica si se debe especificar el descuento en el archivo xml
  1644. /// </summary>
  1645. private bool discountRateFieldSpecified;
  1646. /// <summary>
  1647. /// importe a descontar
  1648. /// </summary>
  1649. private string discountAmountField;
  1650. [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
  1651. public string DiscountReason
  1652. {…