/** * Save membership */ public function save() { $empNumber = $this->getValue('empNumber'); $membership = $this->getValue('membership'); $membershipPermission = $this->getOption('membershipPermissions'); $employeeService = new EmployeeService(); $membershipDetails = $employeeService->getEmployeeMemberships($empNumber, $membership); $allowed = FALSE; if ($membershipDetails->count() > 0) { if ($membershipPermission->canUpdate()) { $membershipDetail = $membershipDetails[0]; $allowed = TRUE; } } else { if ($membershipPermission->canCreate()) { $membershipDetail = new EmployeeMembership(); $membershipDetail->empNumber = $empNumber; $membershipDetail->membershipId = $membership; $allowed = TRUE; } } if ($allowed) { $membershipDetail->subscriptionPaidBy = $this->getValue('subscriptionPaidBy'); $membershipDetail->subscriptionFee = $this->getValue('subscriptionAmount'); $membershipDetail->subscriptionCurrency = $this->getValue('currency'); $membershipDetail->subscriptionCommenceDate = $this->getValue('subscriptionCommenceDate'); $membershipDetail->subscriptionRenewalDate = $this->getValue('subscriptionRenewalDate'); $membershipDetail->save(); } }