# coding: utf-8

"""
    EVE Swagger Interface

    An OpenAPI for EVE Online  # noqa: E501

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


import pprint
import re  # noqa: F401

import six


class GetCorporationsCorporationIdOutpostsOutpostIdService(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 = {
        'service_name': 'str',
        'minimum_standing': 'float',
        'surcharge_per_bad_standing': 'float',
        'discount_per_good_standing': 'float'
    }

    attribute_map = {
        'service_name': 'service_name',
        'minimum_standing': 'minimum_standing',
        'surcharge_per_bad_standing': 'surcharge_per_bad_standing',
        'discount_per_good_standing': 'discount_per_good_standing'
    }

    def __init__(self, service_name=None, minimum_standing=None, surcharge_per_bad_standing=None, discount_per_good_standing=None):  # noqa: E501
        """GetCorporationsCorporationIdOutpostsOutpostIdService - a model defined in Swagger"""  # noqa: E501

        self._service_name = None
        self._minimum_standing = None
        self._surcharge_per_bad_standing = None
        self._discount_per_good_standing = None
        self.discriminator = None

        self.service_name = service_name
        self.minimum_standing = minimum_standing
        self.surcharge_per_bad_standing = surcharge_per_bad_standing
        self.discount_per_good_standing = discount_per_good_standing

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

        service_name string  # noqa: E501

        :return: The service_name of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :rtype: str
        """
        return self._service_name

    @service_name.setter
    def service_name(self, service_name):
        """Sets the service_name of this GetCorporationsCorporationIdOutpostsOutpostIdService.

        service_name string  # noqa: E501

        :param service_name: The service_name of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :type: str
        """
        if service_name is None:
            raise ValueError("Invalid value for `service_name`, must not be `None`")  # noqa: E501
        allowed_values = ["Bounty Missions", "Assassination Missions", "Courier Missions", "Interbus", "Reprocessing Plant", "Refinery", "Market", "Black Market", "Stock Exchange", "Cloning", "Surgery", "DNA Therapy", "Repair Facilities", "Factory", "Laboratory", "Gambling", "Fitting", "Paintshop", "News", "Storage", "Insurance", "Docking", "Office Rental", "Jump Clone Facility", "Loyalty Point Store", "Navy Offices", "Security Office"]  # noqa: E501
        if service_name not in allowed_values:
            raise ValueError(
                "Invalid value for `service_name` ({0}), must be one of {1}"  # noqa: E501
                .format(service_name, allowed_values)
            )

        self._service_name = service_name

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

        minimum_standing number  # noqa: E501

        :return: The minimum_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :rtype: float
        """
        return self._minimum_standing

    @minimum_standing.setter
    def minimum_standing(self, minimum_standing):
        """Sets the minimum_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.

        minimum_standing number  # noqa: E501

        :param minimum_standing: The minimum_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :type: float
        """
        if minimum_standing is None:
            raise ValueError("Invalid value for `minimum_standing`, must not be `None`")  # noqa: E501

        self._minimum_standing = minimum_standing

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

        surcharge_per_bad_standing number  # noqa: E501

        :return: The surcharge_per_bad_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :rtype: float
        """
        return self._surcharge_per_bad_standing

    @surcharge_per_bad_standing.setter
    def surcharge_per_bad_standing(self, surcharge_per_bad_standing):
        """Sets the surcharge_per_bad_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.

        surcharge_per_bad_standing number  # noqa: E501

        :param surcharge_per_bad_standing: The surcharge_per_bad_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :type: float
        """
        if surcharge_per_bad_standing is None:
            raise ValueError("Invalid value for `surcharge_per_bad_standing`, must not be `None`")  # noqa: E501

        self._surcharge_per_bad_standing = surcharge_per_bad_standing

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

        discount_per_good_standing number  # noqa: E501

        :return: The discount_per_good_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :rtype: float
        """
        return self._discount_per_good_standing

    @discount_per_good_standing.setter
    def discount_per_good_standing(self, discount_per_good_standing):
        """Sets the discount_per_good_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.

        discount_per_good_standing number  # noqa: E501

        :param discount_per_good_standing: The discount_per_good_standing of this GetCorporationsCorporationIdOutpostsOutpostIdService.  # noqa: E501
        :type: float
        """
        if discount_per_good_standing is None:
            raise ValueError("Invalid value for `discount_per_good_standing`, must not be `None`")  # noqa: E501

        self._discount_per_good_standing = discount_per_good_standing

    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

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

        return self.__dict__ == other.__dict__

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