/**
  * Get the difference between start and end dates of the period in years.
  *
  * @return int
  */
 public function lengthInYears()
 {
     return $this->startDate->diffInYears($this->endDate);
 }
 /**
  * [report description]
  * @param  [type] $token [description]
  * @return [type]        [description]
  */
 public function report($token)
 {
     $affiliate = $this->affiliateRepository->token($token);
     //Total dues for Affiliate
     $duesAffiliate = $this->duesRepository->getModel()->where('type', 'affiliate')->where('affiliate_id', $affiliate->id)->orderBy('date_payment', 'ASC')->get();
     //Total dues for Private
     $duesPrivate = $this->duesRepository->getModel()->where('type', 'privado')->where('affiliate_id', $affiliate->id)->orderBy('date_payment', 'ASC')->get();
     $error = '';
     $page = 'Afiliados';
     if ($duesAffiliate->isEmpty()) {
         $error_affiliate = true;
     }
     if ($duesPrivate->isEmpty()) {
         $error_private = true;
     }
     if (isset($error_private) && isset($error_affiliate)) {
         $error = "El afiliado {$affiliate->fname} {$affiliate->flast} no cuenta con cuotas canceladas.";
         return view('errors.validate', compact('page', 'error'));
     }
     //Birthdate
     $birthdate = new Carbon($affiliate->birthdate);
     //Age
     $age = $birthdate->diffInYears(Carbon::now());
     //Format Birthdate
     $birthdate = $birthdate->format('d/m/Y');
     //Data for report affiliate
     $dataAffiliate = $this->prepareData($duesAffiliate, 'affiliate');
     //Data for report private
     $dataPrivate = $this->prepareData($duesPrivate, 'privado');
     //Dues total max, date of admission
     $dues_total_max = 0;
     if ($dataAffiliate[count($dataAffiliate) - 1][2] >= $dataPrivate[count($dataPrivate) - 1][2]) {
         $dues_total_max = $dataAffiliate[count($dataAffiliate) - 1][2];
         $date_of_admission = $dataAffiliate[count($dataAffiliate) - 1][0];
     } else {
         $dues_total_max = $dataPrivate[count($dataPrivate) - 1][2];
         $date_of_admission = $dataPrivate[count($dataPrivate) - 1][0];
     }
     //Date Now separed Date of Hours
     $arrDateNow = $this->arrDateNow();
     $pdf = \PDF::loadView('affiliates.report.main', compact('arrDateNow', 'affiliate', 'birthdate', 'age', 'date_of_admission', 'dataPrivate', 'dues_total_max', 'dataAffiliate'))->setOrientation('portrait');
     return $pdf->stream("Reporte ContribuciĆ³n Afiliado -" . $affiliate->fullname() . ".pdf");
 }
Example #3
0
 /**
  *
  *Get the age from the given date
  */
 public function age()
 {
     $myTime = new Carbon($this->date_of_birth);
     return $myTime->diffInYears();
 }
 public function getProfile($userid)
 {
     $user = User::find($userid);
     if (count($user) >= 1) {
         $updated = new Carbon($user->updated_at);
         $now = Carbon::now();
         if ($updated->diff($now)->m < 1) {
             $lastOnline = "Last seen less than a minute ago";
         } elseif ($updated->diff($now)->h < 1) {
             $lastOnline = $updated->diffInMinutes($now) > 1 ? sprintf("Last seen %d minutes ago", $updated->diffInMinutes($now)) : sprintf("Last seen %d minute ago", $updated->diffInMinutes($now));
         } elseif ($updated->diff($now)->d < 1) {
             $lastOnline = $updated->diffInHours($now) > 1 ? sprintf("Last seen %d hours ago", $updated->diffInHours($now)) : sprintf("Last seen %d hour ago", $updated->diffInHours($now));
         } elseif ($updated->diff($now)->d < 7) {
             $lastOnline = $updated->diffInDays($now) > 1 ? sprintf("Last seen %d days ago", $updated->diffInDays($now)) : sprintf("Last seen %d day ago", $updated->diffInDays($now));
         } elseif ($updated->diff($now)->m < 1) {
             $lastOnline = $updated->diffInWeeks($now) > 1 ? sprintf("Last seen %d weeks ago", $updated->diffInWeeks($now)) : sprintf("Last seen %d week ago", $updated->diffInWeeks($now));
         } elseif ($updated->diff($now)->y < 1) {
             $lastOnline = $updated->diffInMonths($now) > 1 ? sprintf("Last seen %d months ago", $updated->diffInMonths($now)) : sprintf("Last seen %d month ago", $updated->diffInMonths($now));
         } else {
             $lastOnline = $updated->diffInYears($now) > 1 ? sprintf("Last seen %d years ago", $updated->diffInYears($now)) : sprintf("Last seen %d year ago", $updated->diffInYears($now));
         }
         return view('dashboard.userProfile', ['user' => $user, 'lastOnline' => $lastOnline]);
     } else {
         return view('dashboard.userProfile');
     }
 }