# coding: utf-8

"""
    Moosend API

    TODO: Add a description

    OpenAPI spec version: 1.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


from pprint import pformat
from six import iteritems
import re


class ImportOperation19(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 = {
        'completed_on': 'str',
        'created_on': 'str',
        'data_hash': 'str',
        'email_notify': 'str',
        'id': 'float',
        'mappings': 'str',
        'message': 'str',
        'skip_new_members': 'bool',
        'started_on': 'str',
        'success': 'bool',
        'total_duplicate': 'float',
        'total_ignored': 'float',
        'total_inserted': 'float',
        'total_invalid': 'float',
        'total_members': 'float',
        'total_unsubscribed': 'float',
        'total_updated': 'float'
    }

    attribute_map = {
        'completed_on': 'CompletedOn',
        'created_on': 'CreatedOn',
        'data_hash': 'DataHash',
        'email_notify': 'EmailNotify',
        'id': 'ID',
        'mappings': 'Mappings',
        'message': 'Message',
        'skip_new_members': 'SkipNewMembers',
        'started_on': 'StartedOn',
        'success': 'Success',
        'total_duplicate': 'TotalDuplicate',
        'total_ignored': 'TotalIgnored',
        'total_inserted': 'TotalInserted',
        'total_invalid': 'TotalInvalid',
        'total_members': 'TotalMembers',
        'total_unsubscribed': 'TotalUnsubscribed',
        'total_updated': 'TotalUpdated'
    }

    def __init__(self, completed_on=None, created_on=None, data_hash=None, email_notify=None, id=None, mappings=None, message=None, skip_new_members=None, started_on=None, success=None, total_duplicate=None, total_ignored=None, total_inserted=None, total_invalid=None, total_members=None, total_unsubscribed=None, total_updated=None):
        """
        ImportOperation19 - a model defined in Swagger
        """

        self._completed_on = None
        self._created_on = None
        self._data_hash = None
        self._email_notify = None
        self._id = None
        self._mappings = None
        self._message = None
        self._skip_new_members = None
        self._started_on = None
        self._success = None
        self._total_duplicate = None
        self._total_ignored = None
        self._total_inserted = None
        self._total_invalid = None
        self._total_members = None
        self._total_unsubscribed = None
        self._total_updated = None

        if completed_on is not None:
          self.completed_on = completed_on
        if created_on is not None:
          self.created_on = created_on
        if data_hash is not None:
          self.data_hash = data_hash
        if email_notify is not None:
          self.email_notify = email_notify
        if id is not None:
          self.id = id
        if mappings is not None:
          self.mappings = mappings
        if message is not None:
          self.message = message
        if skip_new_members is not None:
          self.skip_new_members = skip_new_members
        if started_on is not None:
          self.started_on = started_on
        if success is not None:
          self.success = success
        if total_duplicate is not None:
          self.total_duplicate = total_duplicate
        if total_ignored is not None:
          self.total_ignored = total_ignored
        if total_inserted is not None:
          self.total_inserted = total_inserted
        if total_invalid is not None:
          self.total_invalid = total_invalid
        if total_members is not None:
          self.total_members = total_members
        if total_unsubscribed is not None:
          self.total_unsubscribed = total_unsubscribed
        if total_updated is not None:
          self.total_updated = total_updated

    @property
    def completed_on(self):
        """
        Gets the completed_on of this ImportOperation19.
        

        :return: The completed_on of this ImportOperation19.
        :rtype: str
        """
        return self._completed_on

    @completed_on.setter
    def completed_on(self, completed_on):
        """
        Sets the completed_on of this ImportOperation19.
        

        :param completed_on: The completed_on of this ImportOperation19.
        :type: str
        """

        self._completed_on = completed_on

    @property
    def created_on(self):
        """
        Gets the created_on of this ImportOperation19.
        

        :return: The created_on of this ImportOperation19.
        :rtype: str
        """
        return self._created_on

    @created_on.setter
    def created_on(self, created_on):
        """
        Sets the created_on of this ImportOperation19.
        

        :param created_on: The created_on of this ImportOperation19.
        :type: str
        """

        self._created_on = created_on

    @property
    def data_hash(self):
        """
        Gets the data_hash of this ImportOperation19.
        

        :return: The data_hash of this ImportOperation19.
        :rtype: str
        """
        return self._data_hash

    @data_hash.setter
    def data_hash(self, data_hash):
        """
        Sets the data_hash of this ImportOperation19.
        

        :param data_hash: The data_hash of this ImportOperation19.
        :type: str
        """

        self._data_hash = data_hash

    @property
    def email_notify(self):
        """
        Gets the email_notify of this ImportOperation19.
        

        :return: The email_notify of this ImportOperation19.
        :rtype: str
        """
        return self._email_notify

    @email_notify.setter
    def email_notify(self, email_notify):
        """
        Sets the email_notify of this ImportOperation19.
        

        :param email_notify: The email_notify of this ImportOperation19.
        :type: str
        """

        self._email_notify = email_notify

    @property
    def id(self):
        """
        Gets the id of this ImportOperation19.
        

        :return: The id of this ImportOperation19.
        :rtype: float
        """
        return self._id

    @id.setter
    def id(self, id):
        """
        Sets the id of this ImportOperation19.
        

        :param id: The id of this ImportOperation19.
        :type: float
        """

        self._id = id

    @property
    def mappings(self):
        """
        Gets the mappings of this ImportOperation19.
        

        :return: The mappings of this ImportOperation19.
        :rtype: str
        """
        return self._mappings

    @mappings.setter
    def mappings(self, mappings):
        """
        Sets the mappings of this ImportOperation19.
        

        :param mappings: The mappings of this ImportOperation19.
        :type: str
        """

        self._mappings = mappings

    @property
    def message(self):
        """
        Gets the message of this ImportOperation19.
        

        :return: The message of this ImportOperation19.
        :rtype: str
        """
        return self._message

    @message.setter
    def message(self, message):
        """
        Sets the message of this ImportOperation19.
        

        :param message: The message of this ImportOperation19.
        :type: str
        """

        self._message = message

    @property
    def skip_new_members(self):
        """
        Gets the skip_new_members of this ImportOperation19.
        

        :return: The skip_new_members of this ImportOperation19.
        :rtype: bool
        """
        return self._skip_new_members

    @skip_new_members.setter
    def skip_new_members(self, skip_new_members):
        """
        Sets the skip_new_members of this ImportOperation19.
        

        :param skip_new_members: The skip_new_members of this ImportOperation19.
        :type: bool
        """

        self._skip_new_members = skip_new_members

    @property
    def started_on(self):
        """
        Gets the started_on of this ImportOperation19.
        

        :return: The started_on of this ImportOperation19.
        :rtype: str
        """
        return self._started_on

    @started_on.setter
    def started_on(self, started_on):
        """
        Sets the started_on of this ImportOperation19.
        

        :param started_on: The started_on of this ImportOperation19.
        :type: str
        """

        self._started_on = started_on

    @property
    def success(self):
        """
        Gets the success of this ImportOperation19.
        

        :return: The success of this ImportOperation19.
        :rtype: bool
        """
        return self._success

    @success.setter
    def success(self, success):
        """
        Sets the success of this ImportOperation19.
        

        :param success: The success of this ImportOperation19.
        :type: bool
        """

        self._success = success

    @property
    def total_duplicate(self):
        """
        Gets the total_duplicate of this ImportOperation19.
        

        :return: The total_duplicate of this ImportOperation19.
        :rtype: float
        """
        return self._total_duplicate

    @total_duplicate.setter
    def total_duplicate(self, total_duplicate):
        """
        Sets the total_duplicate of this ImportOperation19.
        

        :param total_duplicate: The total_duplicate of this ImportOperation19.
        :type: float
        """

        self._total_duplicate = total_duplicate

    @property
    def total_ignored(self):
        """
        Gets the total_ignored of this ImportOperation19.
        

        :return: The total_ignored of this ImportOperation19.
        :rtype: float
        """
        return self._total_ignored

    @total_ignored.setter
    def total_ignored(self, total_ignored):
        """
        Sets the total_ignored of this ImportOperation19.
        

        :param total_ignored: The total_ignored of this ImportOperation19.
        :type: float
        """

        self._total_ignored = total_ignored

    @property
    def total_inserted(self):
        """
        Gets the total_inserted of this ImportOperation19.
        

        :return: The total_inserted of this ImportOperation19.
        :rtype: float
        """
        return self._total_inserted

    @total_inserted.setter
    def total_inserted(self, total_inserted):
        """
        Sets the total_inserted of this ImportOperation19.
        

        :param total_inserted: The total_inserted of this ImportOperation19.
        :type: float
        """

        self._total_inserted = total_inserted

    @property
    def total_invalid(self):
        """
        Gets the total_invalid of this ImportOperation19.
        

        :return: The total_invalid of this ImportOperation19.
        :rtype: float
        """
        return self._total_invalid

    @total_invalid.setter
    def total_invalid(self, total_invalid):
        """
        Sets the total_invalid of this ImportOperation19.
        

        :param total_invalid: The total_invalid of this ImportOperation19.
        :type: float
        """

        self._total_invalid = total_invalid

    @property
    def total_members(self):
        """
        Gets the total_members of this ImportOperation19.
        

        :return: The total_members of this ImportOperation19.
        :rtype: float
        """
        return self._total_members

    @total_members.setter
    def total_members(self, total_members):
        """
        Sets the total_members of this ImportOperation19.
        

        :param total_members: The total_members of this ImportOperation19.
        :type: float
        """

        self._total_members = total_members

    @property
    def total_unsubscribed(self):
        """
        Gets the total_unsubscribed of this ImportOperation19.
        

        :return: The total_unsubscribed of this ImportOperation19.
        :rtype: float
        """
        return self._total_unsubscribed

    @total_unsubscribed.setter
    def total_unsubscribed(self, total_unsubscribed):
        """
        Sets the total_unsubscribed of this ImportOperation19.
        

        :param total_unsubscribed: The total_unsubscribed of this ImportOperation19.
        :type: float
        """

        self._total_unsubscribed = total_unsubscribed

    @property
    def total_updated(self):
        """
        Gets the total_updated of this ImportOperation19.
        

        :return: The total_updated of this ImportOperation19.
        :rtype: float
        """
        return self._total_updated

    @total_updated.setter
    def total_updated(self, total_updated):
        """
        Sets the total_updated of this ImportOperation19.
        

        :param total_updated: The total_updated of this ImportOperation19.
        :type: float
        """

        self._total_updated = total_updated

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

        for attr, _ in 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

        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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, ImportOperation19):
            return False

        return self.__dict__ == other.__dict__

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