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); }