Esempio n. 1
0
 public function getByReservationId($id)
 {
     $this->attributes = [];
     $reservationDetailsWithAttr = ReservationDetails::with('attributesText', 'attributesInteger', 'attributesFloat', 'attributesDatetime')->findOrFail($id);
     //print_r($reservationDetailsWithAttr);die;
     $this->populateVendorAttributes($reservationDetailsWithAttr->attributesInteger);
     $this->populateVendorAttributes($reservationDetailsWithAttr->attributesFloat);
     $this->populateVendorAttributes($reservationDetailsWithAttr->attributesText);
     //$this->populateVendorAttributes($reservationDetailsWithAttr->attributesDatetime);
     //for datetime type because one to one relationship
     $resrvDateTime = $reservationDetailsWithAttr->attributesDatetime;
     $this->attributes[$resrvDateTime->attributesAlias->alias] = $resrvDateTime->attribute_value;
     return ['ReservationDetails' => ReservationDetails::find($id), 'attributes' => $this->attributes];
 }
 public function today()
 {
     $todayBookings = array();
     $count = 0;
     $statusCancelledNew = DB::select(DB::raw('select rd.id as reservation_id,rd.user_id as user_id from reservation_details as rd left join reservation_attributes_date as rad on rd.id = rad.reservation_id where DATE(rad.attribute_value) = \'' . Carbon::now()->format('Y-m-d') . '\''));
     $reservationIdArr = array();
     foreach ($statusCancelledNew as $reservId) {
         $reservationIdArr[$reservId->reservation_id] = $reservId->user_id;
     }
     $reservStatusArr = $this->reservationDetails->getReservationStatus(array_keys($reservationIdArr), [1, 2, 3, 6, 7, 8]);
     $todayPaginate = ReservationDetails::with('experience', 'vendor_location.vendor', 'vendor_location.address.city_name', 'attributesDatetime')->where('vendor_location_id', '!=', '0')->where('vendor_location_id', '!=', '54')->whereIn('id', array_keys($reservationIdArr))->where('created_at', '>=', '2015-10-12 15:20:00')->orderBy('created_at', 'desc')->paginate(15);
     foreach (ReservationDetails::with('experience', 'vendor_location.vendor', 'vendor_location.address.city_name', 'attributesDatetime')->where('vendor_location_id', '!=', '0')->where('vendor_location_id', '!=', '54')->whereIn('id', array_keys($reservationIdArr))->where('created_at', '>=', '2015-10-12 15:20:00')->orderBy('created_at', 'desc')->paginate(15) as $today) {
         $booking = new \stdClass();
         $booking->id = $today->id;
         /*$reservCarbonDate = Carbon::createFromFormat('Y-m-d H:i:s',$today->attributesDatetime->attribute_value);
         		$booking->bdate = $reservCarbonDate->format('d-m-Y');
         		$booking->btime = $reservCarbonDate->format('h:i A');*/
         if ($today->product_id == 0) {
             $booking->name = "Classic Reservation";
         } else {
             $booking->name = $today->experience->name;
         }
         $booking->cust_name = $today->guest_name;
         if (isset($today->vendor_location->vendor->name)) {
             $booking->restaurant_name = $today->vendor_location->vendor->name;
         } else {
             $booking->restaurant_name = "";
         }
         if (empty($today->vendor_location->address->city_name)) {
             $booking->city = "";
         } else {
             $booking->city = $today->vendor_location->address->city_name->name;
         }
         //$reservStatus = $today->reservationStatus->first();
         //dd($reservStatus);
         $booking->email = $today->guest_email;
         $booking->phone_no = $today->guest_phone;
         $booking->no_of_persons = $today->no_of_persons;
         //$booking->status = $reservStatus->status;
         $userModel = User::find($reservationIdArr[$today->id]);
         $booking->lastmodified = $userModel->role->name;
         $booking->user_id = $today->user_id;
         $statusArr = $this->reservStatuses;
         $statusKey = array_search($reservStatusArr[$today->id], $statusArr);
         if ($statusKey != -1) {
             unset($statusArr[$statusKey]);
         }
         $booking->reserv_status = $reservStatusArr[$today->id][0];
         $booking->statusArr = $statusArr;
         $reservationDetailsAttr = $this->reservationDetails->getByReservationId($today->id);
         $booking->special_request = isset($reservationDetailsAttr['attributes']['special_request']) ? $reservationDetailsAttr['attributes']['special_request'] : "";
         $booking->gift_card_id = isset($reservationDetailsAttr['attributes']['gift_card_id_reserv']) ? $reservationDetailsAttr['attributes']['gift_card_id_reserv'] : "";
         $booking->outlet = isset($reservationDetailsAttr['attributes']['outlet']) ? $reservationDetailsAttr['attributes']['outlet'] : "";
         $booking->reserv_type = $reservationDetailsAttr['attributes']['reserv_type'];
         $reservCarbonDate = Carbon::createFromFormat('Y-m-d H:i:s', $reservationDetailsAttr['attributes']['reserv_datetime']);
         $booking->bdate = $reservCarbonDate->format('d-m-Y');
         $booking->btime = $reservCarbonDate->format('h:i A');
         $todayBookings[$count] = $booking;
         $count++;
         //print_r($today);
     }
     return view('admin.bookings.list.today')->with('todaysbookings', $todayBookings)->with('today_paginate', $todayPaginate);
 }