tecnospeed-nfe
Version:
Emit NFe through TecnoSpeed API
120 lines (101 loc) • 2.08 kB
JavaScript
'use strict'
const Address = require('./address')
const TX2 = require('./tx2')
class Company extends TX2 {
constructor(settings = {}) {
super()
this.settings = settings
this.settings.address = new Address()
}
/**
* @returns {Company}
*/
setAddress(address) {
this.settings.address = address
return this
}
/**
* @returns {Address}
*/
getAddress() {
return this.settings.address
}
/**
* @returns {Company}
*/
setRegistrationNumber(registrationNumber) {
this.settings.registrationNumber = registrationNumber
return this
}
/**
* @returns {String}
*/
getRegistrationNumber() {
return this.settings.registrationNumber
}
/**
* @returns {Company}
*/
setFormalName(formalName) {
this.settings.formalName = formalName
return this
}
/**
* @returns {String}
*/
getFormalName() {
return this.settings.formalName
}
/**
* @returns {Company}
*/
setPopularName(popularName) {
this.settings.popularName = popularName
return this
}
/**
* @returns {String}
*/
getPopularName() {
return this.settings.popularName
}
/**
* @returns {Company}
*/
setStateRegistrationCode(stateRegistrationCode) {
this.settings.stateRegistrationCode = stateRegistrationCode
return this
}
/**
* @returns {String}
*/
getStateRegistrationCode() {
return this.settings.stateRegistrationCode
}
/**
* @returns {Company}
*/
setTributationCode(tributationCode) {
this.settings.tributationCode = tributationCode
return this
}
/**
* @returns {String}
*/
getTributationCode() {
return this.settings.tributationCode
}
/**
* @returns {String}
*/
toTX2() {
const tx2 = []
tx2.push('CNPJ_C02=' + this.getRegistrationNumber())
tx2.push('xNome_C03=' + this.getFormalName())
tx2.push('xFant_C04=' + this.getPopularName())
tx2.push('IE_C17=' + this.getStateRegistrationCode())
tx2.push('CRT_C21=' + this.getTributationCode())
return tx2.join('\n')
}
}
module.exports = Company