示例#1
1
 public function show($id)
 {
     $member = Member::find($id);
     $birthDate = $member->birthday;
     $birthDate = explode("-", $birthDate);
     $member->age = Carbon::createFromDate($birthDate[0], $birthDate[1], $birthDate[2])->age;
     $meses = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
     $dias = array("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado");
     $currentdate = Carbon::today();
     $sumaAffiliations = $member->affiliations->sum('price');
     $affiliations = $member->affiliations;
     $affiliationActives = \App\Affiliation::orderBy('finalization', 'DEC')->where('member_id', $member->id)->where('finalization', '>=', $currentdate)->get();
     $affiliationInactives = \App\Affiliation::orderBy('finalization', 'DEC')->where('member_id', $member->id)->where('finalization', '<', $currentdate)->get();
     $member->affiliations = $affiliationActives;
     if ($affiliationActives->first() != null) {
         $memshipactiva = $affiliationActives->last();
         $initiation = new Carbon($memshipactiva->initiation);
         $finalization = new Carbon($memshipactiva->finalization);
         $corrido = $initiation->diffInDays($currentdate);
         if ($initiation->lt($currentdate)) {
             $diference = $initiation->diffInDays($finalization);
             $porcentaje = $corrido / $diference * 100;
         } else {
             $porcentaje = 0;
         }
         $memshipactiva->porcentaje = $porcentaje;
     } else {
         $memshipactiva = null;
     }
     $saldo = $sumaAffiliations - $member->payments->sum('amount');
     $member->saldo = $saldo;
     $member->sumaPagos = $member->payments->sum('amount');
     $member->sumaAffiliations = $sumaAffiliations;
     if ($member->sumaPagos == 0 and $sumaAffiliations == 0) {
         //no tiene pagos ni afiliaciones
         $member->difUltimoPago = -1;
     } elseif ($member->sumaPagos <= 0 and $sumaAffiliations > 0) {
         //no tiene pagos pero si tiene afiliaciones
         $fechaUltimoPago = \App\Affiliation::orderBy('created_at', 'asc')->where('member_id', $member->id)->first();
         $fechaUltimoPago = new Carbon($fechaUltimoPago->created_at);
         $difUltimoPago = $fechaUltimoPago->diffInDays($currentdate);
         $member->difUltimoPago = $difUltimoPago;
     } elseif ($member->sumaPagos > 0 and $sumaAffiliations > 0) {
         // tiene afiliaciones y pagos
         $fechaUltimoPago = new Carbon($member->payments->first()->created_at);
         $difUltimoPago = $fechaUltimoPago->diffInDays($currentdate);
         $member->difUltimoPago = $difUltimoPago;
     }
     return view('member.show', ['member' => $member, 'meses' => $meses, 'dias' => $dias, 'activa' => $memshipactiva, 'inactivas' => $affiliationInactives]);
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function create($member_id)
 {
     $memberships = Membership::all()->lists('description', 'id');
     $membershipsAll = Membership::all();
     $member = Member::find($member_id);
     $rangeArray = array();
     $rangeDates = \App\Affiliation::orderBy('finalization', 'DEC')->where('member_id', $member_id)->where('finalization', '>=', Carbon::now())->get();
     foreach ($rangeDates as $range) {
         $initiationRange = new Carbon($range->initiation);
         $finalizationRange = new Carbon($range->finalization);
         $diference = $initiationRange->diffInDays($finalizationRange);
         for ($i = 0; $i <= $diference; $i++) {
             array_unshift($rangeArray, "'" . $initiationRange->copy()->format('Y-m-d') . "'");
             $initiationRange->addDay();
         }
     }
     return view('affiliation.create')->with('memberships', $memberships)->with('membershipsAll', $membershipsAll)->with('member', $member)->with('affiliationRange', $rangeArray);
 }