package it.integry.integrywmsnative.core.model;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;

import java.math.BigDecimal;

import it.integry.integrywmsnative.core.utility.UtilityString;

public class Azienda {

    private String nomeDitta;
    private String indirizzo;
    private String cap;
    private String citta;
    private String prov;
    private String partIva;
    private String numTel;
    private String numFax;
    private String eMail;
    private Integer annoContab;
    private Integer annoMagaz;
    private Integer annoAttuale;
    private String ultDataGio;
    private Integer ultNumGio;
    private String ribaRSoc1;
    private String ribaRSoc2;
    private String ribaRSocBreve;
    private String dataInizMsg;
    private String dataFineMsg;
    private String messaggioDoc;
    private String liquidazioniIva;
    private String lastUpgDb;
    private String logoFile;
    private String logoB64;
    private BigDecimal ultDareAv;
    private Integer sollTop;
    private Integer sollLeft;
    private Integer ggUtili;
    private String codSia;
    private String flagFattDiff;
    private String sollHeadPersonal;
    private String lastUpgSp;
    private String sitoWeb;
    private BigDecimal capitaleSoc;
    private String cciaa;
    private String iscRegImp;
    private String ragSocMod;
    private String prefissoEan;
    private String codFiscale;
    private String persFisicaCognome;
    private String persFisicaNome;
    private String persFisicaSesso;
    private String persFisicaDataNascita;
    private String persFisicaComuneNascita;
    private String persFisicaProvNascita;
    private String flagPersFisica;
    private String persFisicaCodFisc;
    private String rapprLegale;
    private String rapprLegaleCodFisc;
    private String sedeAmm;
    private String flagSetIvaOmaggi;
    private String applicationName;
    private String flagTipoFatturazione;
    private String tribunale;
    private Integer settRitardoAnno;
    private String dbDistributore;
    private String coStringco;
    private String lastUpgQc;
    private String tipoAzienda;
    private String nazione;
    private String codDiviContab;
    private String codIvaOmaggi;
    private String codCconQuadra;

    /**
     * Regime Fiscale
     */
    private String regFisc;
    private String statoLiquidazione;

    /**
     * Indirizzo PEC Sistema di Interscambio
     */

    private String emailSdi;

    /**
     * Indirizzo PEC di invio mail verso lo SDI
     */

    private String fromEmailSdi;


    public String getNomeDitta() {
        return nomeDitta;
    }

    public Azienda setNomeDitta(String nomeDitta) {
        this.nomeDitta = nomeDitta;
        return this;
    }

    public String getIndirizzo() {
        return indirizzo;
    }

    public Azienda setIndirizzo(String indirizzo) {
        this.indirizzo = indirizzo;
        return this;
    }

    public String getCap() {
        return cap;
    }

    public Azienda setCap(String cap) {
        this.cap = cap;
        return this;
    }

    public String getCitta() {
        return citta;
    }

    public Azienda setCitta(String citta) {
        this.citta = citta;
        return this;
    }

    public String getProv() {
        return prov;
    }

    public Azienda setProv(String prov) {
        this.prov = prov;
        return this;
    }

    public String getPartIva() {
        return partIva;
    }

    public Azienda setPartIva(String partIva) {
        this.partIva = partIva;
        return this;
    }

    public String getNumTel() {
        return numTel;
    }

    public Azienda setNumTel(String numTel) {
        this.numTel = numTel;
        return this;
    }

    public String getNumFax() {
        return numFax;
    }

    public Azienda setNumFax(String numFax) {
        this.numFax = numFax;
        return this;
    }

    public String geteMail() {
        return eMail;
    }

    public Azienda seteMail(String eMail) {
        this.eMail = eMail;
        return this;
    }

    public Integer getAnnoContab() {
        return annoContab;
    }

    public Azienda setAnnoContab(Integer annoContab) {
        this.annoContab = annoContab;
        return this;
    }

    public Integer getAnnoMagaz() {
        return annoMagaz;
    }

    public Azienda setAnnoMagaz(Integer annoMagaz) {
        this.annoMagaz = annoMagaz;
        return this;
    }

    public Integer getAnnoAttuale() {
        return annoAttuale;
    }

    public Azienda setAnnoAttuale(Integer annoAttuale) {
        this.annoAttuale = annoAttuale;
        return this;
    }

    public String getUltDataGio() {
        return ultDataGio;
    }

    public Azienda setUltDataGio(String ultDataGio) {
        this.ultDataGio = ultDataGio;
        return this;
    }

    public Integer getUltNumGio() {
        return ultNumGio;
    }

    public Azienda setUltNumGio(Integer ultNumGio) {
        this.ultNumGio = ultNumGio;
        return this;
    }

    public String getRibaRSoc1() {
        return ribaRSoc1;
    }

    public Azienda setRibaRSoc1(String ribaRSoc1) {
        this.ribaRSoc1 = ribaRSoc1;
        return this;
    }

    public String getRibaRSoc2() {
        return ribaRSoc2;
    }

    public Azienda setRibaRSoc2(String ribaRSoc2) {
        this.ribaRSoc2 = ribaRSoc2;
        return this;
    }

    public String getRibaRSocBreve() {
        return ribaRSocBreve;
    }

    public Azienda setRibaRSocBreve(String ribaRSocBreve) {
        this.ribaRSocBreve = ribaRSocBreve;
        return this;
    }

    public String getDataInizMsg() {
        return dataInizMsg;
    }

    public Azienda setDataInizMsg(String dataInizMsg) {
        this.dataInizMsg = dataInizMsg;
        return this;
    }

    public String getDataFineMsg() {
        return dataFineMsg;
    }

    public Azienda setDataFineMsg(String dataFineMsg) {
        this.dataFineMsg = dataFineMsg;
        return this;
    }

    public String getMessaggioDoc() {
        return messaggioDoc;
    }

    public Azienda setMessaggioDoc(String messaggioDoc) {
        this.messaggioDoc = messaggioDoc;
        return this;
    }

    public String getLiquidazioniIva() {
        return liquidazioniIva;
    }

    public Azienda setLiquidazioniIva(String liquidazioniIva) {
        this.liquidazioniIva = liquidazioniIva;
        return this;
    }

    public String getLastUpgDb() {
        return lastUpgDb;
    }

    public Azienda setLastUpgDb(String lastUpgDb) {
        this.lastUpgDb = lastUpgDb;
        return this;
    }

    public String getLogoFile() {
        return logoFile;
    }

    public Azienda setLogoFile(String logoFile) {
        this.logoFile = logoFile;
        return this;
    }

    public String getLogoB64() {
        return logoB64;
    }

    public boolean isLogoAvailable() {
        return !UtilityString.isNullOrEmpty(getLogoB64());
    }

    public Bitmap getLogo() {
        if(getLogoB64() != null) {
            byte[] decodedString = Base64.decode(getLogoB64(), Base64.DEFAULT);
            Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
            return decodedByte;
        } else return null;

    }

    public Azienda setLogoB64(String logoB64) {
        this.logoB64 = logoB64;
        return this;
    }

    public BigDecimal getUltDareAv() {
        return ultDareAv;
    }

    public Azienda setUltDareAv(BigDecimal ultDareAv) {
        this.ultDareAv = ultDareAv;
        return this;
    }

    public Integer getSollTop() {
        return sollTop;
    }

    public Azienda setSollTop(Integer sollTop) {
        this.sollTop = sollTop;
        return this;
    }

    public Integer getSollLeft() {
        return sollLeft;
    }

    public Azienda setSollLeft(Integer sollLeft) {
        this.sollLeft = sollLeft;
        return this;
    }

    public Integer getGgUtili() {
        return ggUtili;
    }

    public Azienda setGgUtili(Integer ggUtili) {
        this.ggUtili = ggUtili;
        return this;
    }

    public String getCodSia() {
        return codSia;
    }

    public Azienda setCodSia(String codSia) {
        this.codSia = codSia;
        return this;
    }

    public String getFlagFattDiff() {
        return flagFattDiff;
    }

    public Azienda setFlagFattDiff(String flagFattDiff) {
        this.flagFattDiff = flagFattDiff;
        return this;
    }

    public String getSollHeadPersonal() {
        return sollHeadPersonal;
    }

    public Azienda setSollHeadPersonal(String sollHeadPersonal) {
        this.sollHeadPersonal = sollHeadPersonal;
        return this;
    }

    public String getLastUpgSp() {
        return lastUpgSp;
    }

    public Azienda setLastUpgSp(String lastUpgSp) {
        this.lastUpgSp = lastUpgSp;
        return this;
    }

    public String getSitoWeb() {
        return sitoWeb;
    }

    public Azienda setSitoWeb(String sitoWeb) {
        this.sitoWeb = sitoWeb;
        return this;
    }

    public BigDecimal getCapitaleSoc() {
        return capitaleSoc;
    }

    public Azienda setCapitaleSoc(BigDecimal capitaleSoc) {
        this.capitaleSoc = capitaleSoc;
        return this;
    }

    public String getCciaa() {
        return cciaa;
    }

    public Azienda setCciaa(String cciaa) {
        this.cciaa = cciaa;
        return this;
    }

    public String getIscRegImp() {
        return iscRegImp;
    }

    public Azienda setIscRegImp(String iscRegImp) {
        this.iscRegImp = iscRegImp;
        return this;
    }

    public String getRagSocMod() {
        return ragSocMod;
    }

    public Azienda setRagSocMod(String ragSocMod) {
        this.ragSocMod = ragSocMod;
        return this;
    }

    public String getPrefissoEan() {
        return prefissoEan;
    }

    public Azienda setPrefissoEan(String prefissoEan) {
        this.prefissoEan = prefissoEan;
        return this;
    }

    public String getCodFiscale() {
        return codFiscale;
    }

    public Azienda setCodFiscale(String codFiscale) {
        this.codFiscale = codFiscale;
        return this;
    }

    public String getPersFisicaCognome() {
        return persFisicaCognome;
    }

    public Azienda setPersFisicaCognome(String persFisicaCognome) {
        this.persFisicaCognome = persFisicaCognome;
        return this;
    }

    public String getPersFisicaNome() {
        return persFisicaNome;
    }

    public Azienda setPersFisicaNome(String persFisicaNome) {
        this.persFisicaNome = persFisicaNome;
        return this;
    }

    public String getPersFisicaSesso() {
        return persFisicaSesso;
    }

    public Azienda setPersFisicaSesso(String persFisicaSesso) {
        this.persFisicaSesso = persFisicaSesso;
        return this;
    }

    public String getPersFisicaDataNascita() {
        return persFisicaDataNascita;
    }

    public Azienda setPersFisicaDataNascita(String persFisicaDataNascita) {
        this.persFisicaDataNascita = persFisicaDataNascita;
        return this;
    }

    public String getPersFisicaComuneNascita() {
        return persFisicaComuneNascita;
    }

    public Azienda setPersFisicaComuneNascita(String persFisicaComuneNascita) {
        this.persFisicaComuneNascita = persFisicaComuneNascita;
        return this;
    }

    public String getPersFisicaProvNascita() {
        return persFisicaProvNascita;
    }

    public Azienda setPersFisicaProvNascita(String persFisicaProvNascita) {
        this.persFisicaProvNascita = persFisicaProvNascita;
        return this;
    }

    public String getFlagPersFisica() {
        return flagPersFisica;
    }

    public Azienda setFlagPersFisica(String flagPersFisica) {
        this.flagPersFisica = flagPersFisica;
        return this;
    }

    public String getPersFisicaCodFisc() {
        return persFisicaCodFisc;
    }

    public Azienda setPersFisicaCodFisc(String persFisicaCodFisc) {
        this.persFisicaCodFisc = persFisicaCodFisc;
        return this;
    }

    public String getRapprLegale() {
        return rapprLegale;
    }

    public Azienda setRapprLegale(String rapprLegale) {
        this.rapprLegale = rapprLegale;
        return this;
    }

    public String getRapprLegaleCodFisc() {
        return rapprLegaleCodFisc;
    }

    public Azienda setRapprLegaleCodFisc(String rapprLegaleCodFisc) {
        this.rapprLegaleCodFisc = rapprLegaleCodFisc;
        return this;
    }

    public String getSedeAmm() {
        return sedeAmm;
    }

    public Azienda setSedeAmm(String sedeAmm) {
        this.sedeAmm = sedeAmm;
        return this;
    }

    public String getFlagSetIvaOmaggi() {
        return flagSetIvaOmaggi;
    }

    public Azienda setFlagSetIvaOmaggi(String flagSetIvaOmaggi) {
        this.flagSetIvaOmaggi = flagSetIvaOmaggi;
        return this;
    }

    public String getApplicationName() {
        return applicationName;
    }

    public Azienda setApplicationName(String applicationName) {
        this.applicationName = applicationName;
        return this;
    }

    public String getFlagTipoFatturazione() {
        return flagTipoFatturazione;
    }

    public Azienda setFlagTipoFatturazione(String flagTipoFatturazione) {
        this.flagTipoFatturazione = flagTipoFatturazione;
        return this;
    }

    public String getTribunale() {
        return tribunale;
    }

    public Azienda setTribunale(String tribunale) {
        this.tribunale = tribunale;
        return this;
    }

    public Integer getSettRitardoAnno() {
        return settRitardoAnno;
    }

    public Azienda setSettRitardoAnno(Integer settRitardoAnno) {
        this.settRitardoAnno = settRitardoAnno;
        return this;
    }

    public String getDbDistributore() {
        return dbDistributore;
    }

    public Azienda setDbDistributore(String dbDistributore) {
        this.dbDistributore = dbDistributore;
        return this;
    }

    public String getCoStringco() {
        return coStringco;
    }

    public Azienda setCoStringco(String coStringco) {
        this.coStringco = coStringco;
        return this;
    }

    public String getLastUpgQc() {
        return lastUpgQc;
    }

    public Azienda setLastUpgQc(String lastUpgQc) {
        this.lastUpgQc = lastUpgQc;
        return this;
    }

    public String getTipoAzienda() {
        return tipoAzienda;
    }

    public Azienda setTipoAzienda(String tipoAzienda) {
        this.tipoAzienda = tipoAzienda;
        return this;
    }

    public String getNazione() {
        return nazione;
    }

    public Azienda setNazione(String nazione) {
        this.nazione = nazione;
        return this;
    }

    public String getCodDiviContab() {
        return codDiviContab;
    }

    public Azienda setCodDiviContab(String codDiviContab) {
        this.codDiviContab = codDiviContab;
        return this;
    }

    public String getCodIvaOmaggi() {
        return codIvaOmaggi;
    }

    public Azienda setCodIvaOmaggi(String codIvaOmaggi) {
        this.codIvaOmaggi = codIvaOmaggi;
        return this;
    }

    public String getCodCconQuadra() {
        return codCconQuadra;
    }

    public Azienda setCodCconQuadra(String codCconQuadra) {
        this.codCconQuadra = codCconQuadra;
        return this;
    }

    public String getRegFisc() {
        return regFisc;
    }

    public Azienda setRegFisc(String regFisc) {
        this.regFisc = regFisc;
        return this;
    }

    public String getStatoLiquidazione() {
        return statoLiquidazione;
    }

    public Azienda setStatoLiquidazione(String statoLiquidazione) {
        this.statoLiquidazione = statoLiquidazione;
        return this;
    }

    public String getEmailSdi() {
        return emailSdi;
    }

    public Azienda setEmailSdi(String emailSdi) {
        this.emailSdi = emailSdi;
        return this;
    }

    public String getFromEmailSdi() {
        return fromEmailSdi;
    }

    public Azienda setFromEmailSdi(String fromEmailSdi) {
        this.fromEmailSdi = fromEmailSdi;
        return this;
    }
}
