/**
  * 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();
     }
 }