import json

# from masterservice.util.masterutil import payrolldeduction_val
from payrollservice.util.payrollutil import payrolldeduction_val
from payrollservice.util.payrollutil import data_roundup


class Employeemonthlypay_detailsResponse:
    id = None
    empmonthly_pay_id = None
    paycomponent = None
    paycomponent_type = None
    paycomponent_percentage = None
    is_deduction = None
    amount = None
    company_contribution = None
    type = None
    from_date = None
    to_date = None
    segment = None


    def get(self):
        return json.dumps(self, default=lambda o: o.__dict__,
                          sort_keys=True, indent=4)

    def set_id(self, id):
        self.id = id

    def set_empmonthly_pay_id(self, empmonthly_pay_id):
        self.empmonthly_pay_id = empmonthly_pay_id

    def set_empmonthly_pay_val(self, empmonthly_pay_id, arr):
        self.Employeemonthly_pay = None
        for i in arr:
            if i.id == empmonthly_pay_id:
                self.Employeemonthly_pay = i
                break
            else:
                pass


    def set_paycomponent(self, paycomponent):
        self.paycomponent = paycomponent

    def set_paycomponent_type(self, paycomponent_type):
        self.paycomponent_type = paycomponent_type

    def set_paycomponent_percentage(self, paycomponent_percentage):
        self.paycomponent_percentage = str(paycomponent_percentage)

    def set_is_deduction(self, is_deduction):
        self.is_deduction = is_deduction

    def set_amount(self, amount):
        # self.amount = str(amount)
        self.amount = data_roundup(amount)

    def set_paycomponent_val(self,paycomponent,arr):
        self.paycomponent = None
        for i in arr:
            if i.id == paycomponent:
                self.paycomponent =i
                break
            else:
                pass

    def set_company_contribution(self, company_contribution):
        self.company_contribution = company_contribution

    def set_company_contribution_val(self, company_contribution, arr):
        self.company_contribution = None
        for i in arr:
            if i.id == company_contribution:
                self.company_contribution = i
                break
            else:
                pass

    def set_company_contribution_val1(self, company_contribution, arr):
        self.paycomponent = None
        for i in arr:
            if i.id == company_contribution:
                self.paycomponent = i
                break
            else:
                pass

    def set_type(self, type):
        self.type = payrolldeduction_val(type)

    def set_from_date(self, from_date):
        self.from_date = str(from_date)

    def set_to_date(self, to_date):
        self.to_date = str(to_date)

    def set_employee_val(self, employee_id, arr):
        self.employee_id = None
        for i in arr:
            if i.id == employee_id:
                self.employee_id = i
                break

    def set_segment(self, segment):
        self.segment = segment

        
    def set_segment_data(self, segment_id, arr):
        self.segment = None
        for i in arr:
            if i.id == segment_id:
                self.segment = i
                break
