# coding: utf-8

"""
    Billingo API v3

    This is a Billingo API v3 documentation. Our API based on REST software architectural style. API has resource-oriented URLs, accepts JSON-encoded request bodies and returns JSON-encoded responses. To use this API you have to generate a new API key on our [site](https://app.billingo.hu/api-key). After that, you can test your API key on this page.  # noqa: E501

    OpenAPI spec version: 3.0.14
    Contact: hello@billingo.hu
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class DocumentExportFilterExtra(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'tensoft_vkod': 'str',
        'ledger_number': 'LedgerNumberInformation',
        'forintsoft_konyvelesi_naplo_szam': 'str',
        'positive_ledger_number': 'str',
        'negative_ledger_number': 'str',
        'rlb_kata': 'bool',
        'rlb_note': 'str',
        'novitax_naplokod': 'str',
        'use_gross_values': 'bool'
    }

    attribute_map = {
        'tensoft_vkod': 'tensoft_vkod',
        'ledger_number': 'ledger_number',
        'forintsoft_konyvelesi_naplo_szam': 'forintsoft_konyvelesi_naplo_szam',
        'positive_ledger_number': 'positive_ledger_number',
        'negative_ledger_number': 'negative_ledger_number',
        'rlb_kata': 'rlb_kata',
        'rlb_note': 'rlb_note',
        'novitax_naplokod': 'novitax_naplokod',
        'use_gross_values': 'use_gross_values'
    }

    def __init__(self, tensoft_vkod=None, ledger_number=None, forintsoft_konyvelesi_naplo_szam=None, positive_ledger_number=None, negative_ledger_number=None, rlb_kata=None, rlb_note=None, novitax_naplokod=None, use_gross_values=None):  # noqa: E501
        """DocumentExportFilterExtra - a model defined in Swagger"""  # noqa: E501
        self._tensoft_vkod = None
        self._ledger_number = None
        self._forintsoft_konyvelesi_naplo_szam = None
        self._positive_ledger_number = None
        self._negative_ledger_number = None
        self._rlb_kata = None
        self._rlb_note = None
        self._novitax_naplokod = None
        self._use_gross_values = None
        self.discriminator = None
        if tensoft_vkod is not None:
            self.tensoft_vkod = tensoft_vkod
        if ledger_number is not None:
            self.ledger_number = ledger_number
        if forintsoft_konyvelesi_naplo_szam is not None:
            self.forintsoft_konyvelesi_naplo_szam = forintsoft_konyvelesi_naplo_szam
        if positive_ledger_number is not None:
            self.positive_ledger_number = positive_ledger_number
        if negative_ledger_number is not None:
            self.negative_ledger_number = negative_ledger_number
        if rlb_kata is not None:
            self.rlb_kata = rlb_kata
        if rlb_note is not None:
            self.rlb_note = rlb_note
        if novitax_naplokod is not None:
            self.novitax_naplokod = novitax_naplokod
        if use_gross_values is not None:
            self.use_gross_values = use_gross_values

    @property
    def tensoft_vkod(self):
        """Gets the tensoft_vkod of this DocumentExportFilterExtra.  # noqa: E501


        :return: The tensoft_vkod of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: str
        """
        return self._tensoft_vkod

    @tensoft_vkod.setter
    def tensoft_vkod(self, tensoft_vkod):
        """Sets the tensoft_vkod of this DocumentExportFilterExtra.


        :param tensoft_vkod: The tensoft_vkod of this DocumentExportFilterExtra.  # noqa: E501
        :type: str
        """

        self._tensoft_vkod = tensoft_vkod

    @property
    def ledger_number(self):
        """Gets the ledger_number of this DocumentExportFilterExtra.  # noqa: E501


        :return: The ledger_number of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: LedgerNumberInformation
        """
        return self._ledger_number

    @ledger_number.setter
    def ledger_number(self, ledger_number):
        """Sets the ledger_number of this DocumentExportFilterExtra.


        :param ledger_number: The ledger_number of this DocumentExportFilterExtra.  # noqa: E501
        :type: LedgerNumberInformation
        """

        self._ledger_number = ledger_number

    @property
    def forintsoft_konyvelesi_naplo_szam(self):
        """Gets the forintsoft_konyvelesi_naplo_szam of this DocumentExportFilterExtra.  # noqa: E501


        :return: The forintsoft_konyvelesi_naplo_szam of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: str
        """
        return self._forintsoft_konyvelesi_naplo_szam

    @forintsoft_konyvelesi_naplo_szam.setter
    def forintsoft_konyvelesi_naplo_szam(self, forintsoft_konyvelesi_naplo_szam):
        """Sets the forintsoft_konyvelesi_naplo_szam of this DocumentExportFilterExtra.


        :param forintsoft_konyvelesi_naplo_szam: The forintsoft_konyvelesi_naplo_szam of this DocumentExportFilterExtra.  # noqa: E501
        :type: str
        """

        self._forintsoft_konyvelesi_naplo_szam = forintsoft_konyvelesi_naplo_szam

    @property
    def positive_ledger_number(self):
        """Gets the positive_ledger_number of this DocumentExportFilterExtra.  # noqa: E501


        :return: The positive_ledger_number of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: str
        """
        return self._positive_ledger_number

    @positive_ledger_number.setter
    def positive_ledger_number(self, positive_ledger_number):
        """Sets the positive_ledger_number of this DocumentExportFilterExtra.


        :param positive_ledger_number: The positive_ledger_number of this DocumentExportFilterExtra.  # noqa: E501
        :type: str
        """

        self._positive_ledger_number = positive_ledger_number

    @property
    def negative_ledger_number(self):
        """Gets the negative_ledger_number of this DocumentExportFilterExtra.  # noqa: E501


        :return: The negative_ledger_number of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: str
        """
        return self._negative_ledger_number

    @negative_ledger_number.setter
    def negative_ledger_number(self, negative_ledger_number):
        """Sets the negative_ledger_number of this DocumentExportFilterExtra.


        :param negative_ledger_number: The negative_ledger_number of this DocumentExportFilterExtra.  # noqa: E501
        :type: str
        """

        self._negative_ledger_number = negative_ledger_number

    @property
    def rlb_kata(self):
        """Gets the rlb_kata of this DocumentExportFilterExtra.  # noqa: E501


        :return: The rlb_kata of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: bool
        """
        return self._rlb_kata

    @rlb_kata.setter
    def rlb_kata(self, rlb_kata):
        """Sets the rlb_kata of this DocumentExportFilterExtra.


        :param rlb_kata: The rlb_kata of this DocumentExportFilterExtra.  # noqa: E501
        :type: bool
        """

        self._rlb_kata = rlb_kata

    @property
    def rlb_note(self):
        """Gets the rlb_note of this DocumentExportFilterExtra.  # noqa: E501


        :return: The rlb_note of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: str
        """
        return self._rlb_note

    @rlb_note.setter
    def rlb_note(self, rlb_note):
        """Sets the rlb_note of this DocumentExportFilterExtra.


        :param rlb_note: The rlb_note of this DocumentExportFilterExtra.  # noqa: E501
        :type: str
        """

        self._rlb_note = rlb_note

    @property
    def novitax_naplokod(self):
        """Gets the novitax_naplokod of this DocumentExportFilterExtra.  # noqa: E501


        :return: The novitax_naplokod of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: str
        """
        return self._novitax_naplokod

    @novitax_naplokod.setter
    def novitax_naplokod(self, novitax_naplokod):
        """Sets the novitax_naplokod of this DocumentExportFilterExtra.


        :param novitax_naplokod: The novitax_naplokod of this DocumentExportFilterExtra.  # noqa: E501
        :type: str
        """

        self._novitax_naplokod = novitax_naplokod

    @property
    def use_gross_values(self):
        """Gets the use_gross_values of this DocumentExportFilterExtra.  # noqa: E501


        :return: The use_gross_values of this DocumentExportFilterExtra.  # noqa: E501
        :rtype: bool
        """
        return self._use_gross_values

    @use_gross_values.setter
    def use_gross_values(self, use_gross_values):
        """Sets the use_gross_values of this DocumentExportFilterExtra.


        :param use_gross_values: The use_gross_values of this DocumentExportFilterExtra.  # noqa: E501
        :type: bool
        """

        self._use_gross_values = use_gross_values

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(DocumentExportFilterExtra, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, DocumentExportFilterExtra):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
