# 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 FlagWidget(Model):
    """FlagWidget.

    :param view_by: The type of entity we are grouping bill flags by - Meter,
     Account or Building
    :type view_by: str
    :param flag_status: The status of bill flags - Unresolved or Resolved
    :type flag_status: str
    :param total_cost: Total cost for all the bills that are represented by
     the bill flags
    :type total_cost: float
    :param total_cost_recovery: Total cost recovery represented by the bill
     flags
    :type total_cost_recovery: float
    :param flag_count: Total number of bill flags represented
    :type flag_count: int
    :param results: List of bill flag rows
     The rows are sorted by highest cost , then by highest cost recovery, and
     then by the item's display alphabetically
    :type results: list[~energycap.sdk.models.FlagWidgetChild]
    :param total_number_of_results: Total number of results available
     If pagination was applied, Results list will have "pagesize" out of
     TotalNumberOfResults
     If pagination was not applied, Results list will have 100 out of
     TotalNumberOfResults
    :type total_number_of_results: int
    """

    _attribute_map = {
        'view_by': {'key': 'viewBy', 'type': 'str'},
        'flag_status': {'key': 'flagStatus', 'type': 'str'},
        'total_cost': {'key': 'totalCost', 'type': 'float'},
        'total_cost_recovery': {'key': 'totalCostRecovery', 'type': 'float'},
        'flag_count': {'key': 'flagCount', 'type': 'int'},
        'results': {'key': 'results', 'type': '[FlagWidgetChild]'},
        'total_number_of_results': {'key': 'totalNumberOfResults', 'type': 'int'},
    }

    def __init__(self, view_by=None, flag_status=None, total_cost=None, total_cost_recovery=None, flag_count=None, results=None, total_number_of_results=None):
        super(FlagWidget, self).__init__()
        self.view_by = view_by
        self.flag_status = flag_status
        self.total_cost = total_cost
        self.total_cost_recovery = total_cost_recovery
        self.flag_count = flag_count
        self.results = results
        self.total_number_of_results = total_number_of_results
