# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class PlaceDigestSavingsYearlyResponseCommodityData(Model):
    """PlaceDigestSavingsYearlyResponseCommodityData.

    :param commodity_code: The commodity code
    :type commodity_code: str
    :param commodity_info: The commodity info
    :type commodity_info: str
    :param commodity_id: The commodity identifier
    :type commodity_id: int
    :param all_time_batcc_common_use: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Common Use
    :type all_time_batcc_common_use: float
    :param all_time_common_use: Program to Date Common Use
    :type all_time_common_use: float
    :param all_time_savings_common_use: Program to Date Savings Common Use =
     allTimeBATCCCommonUse - allTimeCommonUse
    :type all_time_savings_common_use: float
    :param all_time_batcc_global_use: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Global Use
    :type all_time_batcc_global_use: float
    :param all_time_global_use: Program to Date Global Use
    :type all_time_global_use: float
    :param all_time_savings_global_use: Program to Date Savings Global Use =
     allTimeBATCCGlobalUse - allTimeGlobalUse
    :type all_time_savings_global_use: float
    :param all_time_batcc_total_cost: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Total Cost
    :type all_time_batcc_total_cost: float
    :param all_time_total_cost: Program to Date Total Cost
    :type all_time_total_cost: float
    :param all_time_savings_total_cost: Program to Date Savings Total Cost =
     allTimeBATCCTotalCost - allTimeTotalCost
    :type all_time_savings_total_cost: float
    :param cost_unit: The cost unit of measure
    :type cost_unit: ~energycap.sdk.models.UnitChild
    :param common_use_unit: The common use unit of measure
    :type common_use_unit: ~energycap.sdk.models.UnitChild
    :param results: An array of yearly data
    :type results:
     list[~energycap.sdk.models.PlaceDigestSavingsYearlyResponseCommodityDataCommodityResults]
    """

    _attribute_map = {
        'commodity_code': {'key': 'commodityCode', 'type': 'str'},
        'commodity_info': {'key': 'commodityInfo', 'type': 'str'},
        'commodity_id': {'key': 'commodityId', 'type': 'int'},
        'all_time_batcc_common_use': {'key': 'allTimeBATCCCommonUse', 'type': 'float'},
        'all_time_common_use': {'key': 'allTimeCommonUse', 'type': 'float'},
        'all_time_savings_common_use': {'key': 'allTimeSavingsCommonUse', 'type': 'float'},
        'all_time_batcc_global_use': {'key': 'allTimeBATCCGlobalUse', 'type': 'float'},
        'all_time_global_use': {'key': 'allTimeGlobalUse', 'type': 'float'},
        'all_time_savings_global_use': {'key': 'allTimeSavingsGlobalUse', 'type': 'float'},
        'all_time_batcc_total_cost': {'key': 'allTimeBATCCTotalCost', 'type': 'float'},
        'all_time_total_cost': {'key': 'allTimeTotalCost', 'type': 'float'},
        'all_time_savings_total_cost': {'key': 'allTimeSavingsTotalCost', 'type': 'float'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
        'common_use_unit': {'key': 'commonUseUnit', 'type': 'UnitChild'},
        'results': {'key': 'results', 'type': '[PlaceDigestSavingsYearlyResponseCommodityDataCommodityResults]'},
    }

    def __init__(self, commodity_code=None, commodity_info=None, commodity_id=None, all_time_batcc_common_use=None, all_time_common_use=None, all_time_savings_common_use=None, all_time_batcc_global_use=None, all_time_global_use=None, all_time_savings_global_use=None, all_time_batcc_total_cost=None, all_time_total_cost=None, all_time_savings_total_cost=None, cost_unit=None, common_use_unit=None, results=None):
        super(PlaceDigestSavingsYearlyResponseCommodityData, self).__init__()
        self.commodity_code = commodity_code
        self.commodity_info = commodity_info
        self.commodity_id = commodity_id
        self.all_time_batcc_common_use = all_time_batcc_common_use
        self.all_time_common_use = all_time_common_use
        self.all_time_savings_common_use = all_time_savings_common_use
        self.all_time_batcc_global_use = all_time_batcc_global_use
        self.all_time_global_use = all_time_global_use
        self.all_time_savings_global_use = all_time_savings_global_use
        self.all_time_batcc_total_cost = all_time_batcc_total_cost
        self.all_time_total_cost = all_time_total_cost
        self.all_time_savings_total_cost = all_time_savings_total_cost
        self.cost_unit = cost_unit
        self.common_use_unit = common_use_unit
        self.results = results
