# coding: utf-8

"""
    Datový konektor Domino pro eSMLOUVY

    Toto je datový konektor umožňující datovou výměnu mezi obchodní logikou aplikace eSMLOUVY a datovým serverem HCL Domino.  Ovládá se pomocí REST API   # noqa: E501

    OpenAPI spec version: 1.1.0
    Contact: info@sysnet.cz
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class ProfileRoles(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 = {
        'domino': 'DominoCommons',
        'prof_tab': 'str',
        'nm_0': 'list[str]',
        'nm_1': 'list[str]',
        'nm_2': 'list[str]',
        'nm_3': 'list[str]',
        'nm_4': 'list[str]',
        'nm_5': 'list[str]',
        'nm_6': 'list[str]',
        'nm_7': 'list[str]',
        'nm_8': 'list[str]',
        'nm_9': 'list[str]',
        'deputy_minister_finance': 'str',
        'budget_department_head': 'str',
        'budget_department_manager': 'list[str]',
        'budget_department_persons': 'list[str]',
        'budget_department_layeman': 'list[str]',
        'budget_department_layeman_ph': 'list[str]',
        'budget_department_surveyors': 'list[str]',
        'sek210': 'str',
        'sek240': 'str'
    }

    attribute_map = {
        'domino': 'domino',
        'prof_tab': 'prof_tab',
        'nm_0': 'nm_0',
        'nm_1': 'nm_1',
        'nm_2': 'nm_2',
        'nm_3': 'nm_3',
        'nm_4': 'nm_4',
        'nm_5': 'nm_5',
        'nm_6': 'nm_6',
        'nm_7': 'nm_7',
        'nm_8': 'nm_8',
        'nm_9': 'nm_9',
        'deputy_minister_finance': 'deputy_minister_finance',
        'budget_department_head': 'budget_department_head',
        'budget_department_manager': 'budget_department_manager',
        'budget_department_persons': 'budget_department_persons',
        'budget_department_layeman': 'budget_department_layeman',
        'budget_department_layeman_ph': 'budget_department_layeman_ph',
        'budget_department_surveyors': 'budget_department_surveyors',
        'sek210': 'sek210',
        'sek240': 'sek240'
    }

    def __init__(self, domino=None, prof_tab=None, nm_0=None, nm_1=None, nm_2=None, nm_3=None, nm_4=None, nm_5=None, nm_6=None, nm_7=None, nm_8=None, nm_9=None, deputy_minister_finance=None, budget_department_head=None, budget_department_manager=None, budget_department_persons=None, budget_department_layeman=None, budget_department_layeman_ph=None, budget_department_surveyors=None, sek210=None, sek240=None):  # noqa: E501
        """ProfileRoles - a model defined in Swagger"""  # noqa: E501
        self._domino = None
        self._prof_tab = None
        self._nm_0 = None
        self._nm_1 = None
        self._nm_2 = None
        self._nm_3 = None
        self._nm_4 = None
        self._nm_5 = None
        self._nm_6 = None
        self._nm_7 = None
        self._nm_8 = None
        self._nm_9 = None
        self._deputy_minister_finance = None
        self._budget_department_head = None
        self._budget_department_manager = None
        self._budget_department_persons = None
        self._budget_department_layeman = None
        self._budget_department_layeman_ph = None
        self._budget_department_surveyors = None
        self._sek210 = None
        self._sek240 = None
        self.discriminator = None
        if domino is not None:
            self.domino = domino
        if prof_tab is not None:
            self.prof_tab = prof_tab
        if nm_0 is not None:
            self.nm_0 = nm_0
        if nm_1 is not None:
            self.nm_1 = nm_1
        if nm_2 is not None:
            self.nm_2 = nm_2
        if nm_3 is not None:
            self.nm_3 = nm_3
        if nm_4 is not None:
            self.nm_4 = nm_4
        if nm_5 is not None:
            self.nm_5 = nm_5
        if nm_6 is not None:
            self.nm_6 = nm_6
        if nm_7 is not None:
            self.nm_7 = nm_7
        if nm_8 is not None:
            self.nm_8 = nm_8
        if nm_9 is not None:
            self.nm_9 = nm_9
        if deputy_minister_finance is not None:
            self.deputy_minister_finance = deputy_minister_finance
        if budget_department_head is not None:
            self.budget_department_head = budget_department_head
        if budget_department_manager is not None:
            self.budget_department_manager = budget_department_manager
        if budget_department_persons is not None:
            self.budget_department_persons = budget_department_persons
        if budget_department_layeman is not None:
            self.budget_department_layeman = budget_department_layeman
        if budget_department_layeman_ph is not None:
            self.budget_department_layeman_ph = budget_department_layeman_ph
        if budget_department_surveyors is not None:
            self.budget_department_surveyors = budget_department_surveyors
        if sek210 is not None:
            self.sek210 = sek210
        if sek240 is not None:
            self.sek240 = sek240

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


        :return: The domino of this ProfileRoles.  # noqa: E501
        :rtype: DominoCommons
        """
        return self._domino

    @domino.setter
    def domino(self, domino):
        """Sets the domino of this ProfileRoles.


        :param domino: The domino of this ProfileRoles.  # noqa: E501
        :type: DominoCommons
        """

        self._domino = domino

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

        ProfTab - Záložka  # noqa: E501

        :return: The prof_tab of this ProfileRoles.  # noqa: E501
        :rtype: str
        """
        return self._prof_tab

    @prof_tab.setter
    def prof_tab(self, prof_tab):
        """Sets the prof_tab of this ProfileRoles.

        ProfTab - Záložka  # noqa: E501

        :param prof_tab: The prof_tab of this ProfileRoles.  # noqa: E501
        :type: str
        """

        self._prof_tab = prof_tab

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

        NM_0 - Náměstek  pro odbory č. 0xx (jména)  # noqa: E501

        :return: The nm_0 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_0

    @nm_0.setter
    def nm_0(self, nm_0):
        """Sets the nm_0 of this ProfileRoles.

        NM_0 - Náměstek  pro odbory č. 0xx (jména)  # noqa: E501

        :param nm_0: The nm_0 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_0 = nm_0

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

        NM_1 - Náměstek  pro odbory č. 1xx (jména)  # noqa: E501

        :return: The nm_1 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_1

    @nm_1.setter
    def nm_1(self, nm_1):
        """Sets the nm_1 of this ProfileRoles.

        NM_1 - Náměstek  pro odbory č. 1xx (jména)  # noqa: E501

        :param nm_1: The nm_1 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_1 = nm_1

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

        NM_2 - Náměstek  pro odbory č. 2xx (jména)  # noqa: E501

        :return: The nm_2 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_2

    @nm_2.setter
    def nm_2(self, nm_2):
        """Sets the nm_2 of this ProfileRoles.

        NM_2 - Náměstek  pro odbory č. 2xx (jména)  # noqa: E501

        :param nm_2: The nm_2 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_2 = nm_2

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

        NM_3 - Náměstek  pro odbory č. 3xx (jména)  # noqa: E501

        :return: The nm_3 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_3

    @nm_3.setter
    def nm_3(self, nm_3):
        """Sets the nm_3 of this ProfileRoles.

        NM_3 - Náměstek  pro odbory č. 3xx (jména)  # noqa: E501

        :param nm_3: The nm_3 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_3 = nm_3

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

        NM_4 - Náměstek  pro odbory č. 4xx (jména)  # noqa: E501

        :return: The nm_4 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_4

    @nm_4.setter
    def nm_4(self, nm_4):
        """Sets the nm_4 of this ProfileRoles.

        NM_4 - Náměstek  pro odbory č. 4xx (jména)  # noqa: E501

        :param nm_4: The nm_4 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_4 = nm_4

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

        NM_5 - Náměstek  pro odbory č. 5xx (jména)  # noqa: E501

        :return: The nm_5 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_5

    @nm_5.setter
    def nm_5(self, nm_5):
        """Sets the nm_5 of this ProfileRoles.

        NM_5 - Náměstek  pro odbory č. 5xx (jména)  # noqa: E501

        :param nm_5: The nm_5 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_5 = nm_5

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

        NM_6 - Náměstek  pro odbory č. 6xx (jména)  # noqa: E501

        :return: The nm_6 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_6

    @nm_6.setter
    def nm_6(self, nm_6):
        """Sets the nm_6 of this ProfileRoles.

        NM_6 - Náměstek  pro odbory č. 6xx (jména)  # noqa: E501

        :param nm_6: The nm_6 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_6 = nm_6

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

        NM_7 - Náměstek  pro odbory č. 7xx (jména)  # noqa: E501

        :return: The nm_7 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_7

    @nm_7.setter
    def nm_7(self, nm_7):
        """Sets the nm_7 of this ProfileRoles.

        NM_7 - Náměstek  pro odbory č. 7xx (jména)  # noqa: E501

        :param nm_7: The nm_7 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_7 = nm_7

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

        NM_8 - Náměstek  pro odbory č. 8xx (jména)  # noqa: E501

        :return: The nm_8 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_8

    @nm_8.setter
    def nm_8(self, nm_8):
        """Sets the nm_8 of this ProfileRoles.

        NM_8 - Náměstek  pro odbory č. 8xx (jména)  # noqa: E501

        :param nm_8: The nm_8 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_8 = nm_8

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

        NM_9 - Náměstek  pro odbory č. 9xx (jména)  # noqa: E501

        :return: The nm_9 of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._nm_9

    @nm_9.setter
    def nm_9(self, nm_9):
        """Sets the nm_9 of this ProfileRoles.

        NM_9 - Náměstek  pro odbory č. 9xx (jména)  # noqa: E501

        :param nm_9: The nm_9 of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._nm_9 = nm_9

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

        deputy_minister_finance - Náměstek ŘSFL (jména)  # noqa: E501

        :return: The deputy_minister_finance of this ProfileRoles.  # noqa: E501
        :rtype: str
        """
        return self._deputy_minister_finance

    @deputy_minister_finance.setter
    def deputy_minister_finance(self, deputy_minister_finance):
        """Sets the deputy_minister_finance of this ProfileRoles.

        deputy_minister_finance - Náměstek ŘSFL (jména)  # noqa: E501

        :param deputy_minister_finance: The deputy_minister_finance of this ProfileRoles.  # noqa: E501
        :type: str
        """

        self._deputy_minister_finance = deputy_minister_finance

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

        budget_department_head - Ředitel OR  # noqa: E501

        :return: The budget_department_head of this ProfileRoles.  # noqa: E501
        :rtype: str
        """
        return self._budget_department_head

    @budget_department_head.setter
    def budget_department_head(self, budget_department_head):
        """Sets the budget_department_head of this ProfileRoles.

        budget_department_head - Ředitel OR  # noqa: E501

        :param budget_department_head: The budget_department_head of this ProfileRoles.  # noqa: E501
        :type: str
        """

        self._budget_department_head = budget_department_head

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

        budget_department_manager - Autorizace stanoviska OR  # noqa: E501

        :return: The budget_department_manager of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._budget_department_manager

    @budget_department_manager.setter
    def budget_department_manager(self, budget_department_manager):
        """Sets the budget_department_manager of this ProfileRoles.

        budget_department_manager - Autorizace stanoviska OR  # noqa: E501

        :param budget_department_manager: The budget_department_manager of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._budget_department_manager = budget_department_manager

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

        budget_department_persons - Odbor rozpočtu - právo přidělování rozpočtáře  # noqa: E501

        :return: The budget_department_persons of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._budget_department_persons

    @budget_department_persons.setter
    def budget_department_persons(self, budget_department_persons):
        """Sets the budget_department_persons of this ProfileRoles.

        budget_department_persons - Odbor rozpočtu - právo přidělování rozpočtáře  # noqa: E501

        :param budget_department_persons: The budget_department_persons of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._budget_department_persons = budget_department_persons

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

        budget_department_layeman - OVZ - právo přidělování právníka  # noqa: E501

        :return: The budget_department_layeman of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._budget_department_layeman

    @budget_department_layeman.setter
    def budget_department_layeman(self, budget_department_layeman):
        """Sets the budget_department_layeman of this ProfileRoles.

        budget_department_layeman - OVZ - právo přidělování právníka  # noqa: E501

        :param budget_department_layeman: The budget_department_layeman of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._budget_department_layeman = budget_department_layeman

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

        budget_department_layeman_ph - OVZ - seznam právníků  # noqa: E501

        :return: The budget_department_layeman_ph of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._budget_department_layeman_ph

    @budget_department_layeman_ph.setter
    def budget_department_layeman_ph(self, budget_department_layeman_ph):
        """Sets the budget_department_layeman_ph of this ProfileRoles.

        budget_department_layeman_ph - OVZ - seznam právníků  # noqa: E501

        :param budget_department_layeman_ph: The budget_department_layeman_ph of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._budget_department_layeman_ph = budget_department_layeman_ph

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

        budget_department_surveyors - Odbor rozpočtu - seznam rozpočtářů  # noqa: E501

        :return: The budget_department_surveyors of this ProfileRoles.  # noqa: E501
        :rtype: list[str]
        """
        return self._budget_department_surveyors

    @budget_department_surveyors.setter
    def budget_department_surveyors(self, budget_department_surveyors):
        """Sets the budget_department_surveyors of this ProfileRoles.

        budget_department_surveyors - Odbor rozpočtu - seznam rozpočtářů  # noqa: E501

        :param budget_department_surveyors: The budget_department_surveyors of this ProfileRoles.  # noqa: E501
        :type: list[str]
        """

        self._budget_department_surveyors = budget_department_surveyors

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

        sek210 - Sekretářka odboru 210  # noqa: E501

        :return: The sek210 of this ProfileRoles.  # noqa: E501
        :rtype: str
        """
        return self._sek210

    @sek210.setter
    def sek210(self, sek210):
        """Sets the sek210 of this ProfileRoles.

        sek210 - Sekretářka odboru 210  # noqa: E501

        :param sek210: The sek210 of this ProfileRoles.  # noqa: E501
        :type: str
        """

        self._sek210 = sek210

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

        sek240 - Sekretářka odboru 240  # noqa: E501

        :return: The sek240 of this ProfileRoles.  # noqa: E501
        :rtype: str
        """
        return self._sek240

    @sek240.setter
    def sek240(self, sek240):
        """Sets the sek240 of this ProfileRoles.

        sek240 - Sekretářka odboru 240  # noqa: E501

        :param sek240: The sek240 of this ProfileRoles.  # noqa: E501
        :type: str
        """

        self._sek240 = sek240

    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(ProfileRoles, 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, ProfileRoles):
            return False

        return self.__dict__ == other.__dict__

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