import json

from payrollservice.util.payrollutil import payrolldeduction_val


class Employeemonthlypay_deductionsResponse:
    id=None
    employee_id=None
    paycomponent_id=None
    type=None
    from_date=None
    to_date=None
    deduction_status=None
    amount=None
    deduct_date=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_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_deduction_status(self, deduction_status):
        self.deduction_status =deduction_status

    def set_employee_id(self, employee_id):
        self.employee_id =employee_id

    def set_paycomponent_id(self, paycomponent_id):
        self.paycomponent_id =paycomponent_id


    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_employee_val(self, employee_id, arr):
        self.employee = None
        for i in arr:
            if i.get('id') == employee_id:
                self.employee = i
                break
            else:
                pass

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

    def set_deduct_date(self, deduct_date):
        self.deduct_date = str(deduct_date)