Exemple #1
0
 public function postTicketSales($ev)
 {
     $all_input = Input::all();
     eerror_log('>>>> TSAI ' . count($all_input['sales_data']) . ' --- ' . json_encode($all_input['sales_data']));
     foreach ($all_input['sales_data'] as $key => $sales_ttype_data) {
         if (!isset($sales_ttype_data['sold']) || !is_numeric($sales_ttype_data['sold'])) {
             eerror_log('>> invalid sold ' . json_encode($sales_ttype_data['sold']));
             continue;
         }
         // get the ticket type to dicount sold tickets
         $curr_ticket_type = TicketType::find((int) $sales_ttype_data['ttype_id']);
         if (!$curr_ticket_type) {
             eerror_log('>>>> could not find ticket type');
             return Response::make('could not find ticket type', 500);
         }
         // discount
         $curr_ticket_type->num_available -= (int) $sales_ttype_data['sold'];
         $curr_ticket_type->update();
         $sale_date = new DateTime();
         $sale_date->setISODate((int) $sales_ttype_data['year'], (int) $sales_ttype_data['week']);
         $sales_date_ts = $sale_date->format('Y-m-d');
         eerror_log('>>> Sales ' . $sales_date_ts . ' - ' . $sales_ttype_data['week']);
         $ttype_sales_entry = TicketSold::firstOrCreate(['week' => $sales_ttype_data['week'], 'year' => $sales_ttype_data['year'], 'sale_date' => $sales_date_ts, 'event_ticket_types_id' => $sales_ttype_data['ttype_id']]);
         $ttype_sales_entry->num_sold = (int) $sales_ttype_data['sold'];
         $ttype_sales_entry->update();
         eerror_log('saved ticket entry ' . json_encode($ttype_sales_entry));
     }
     return Response::make('OK', 200);
 }