Esempio n. 1
0
 /**
  * Updates an existing Meal model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param string $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     $productImages = MealImage::findOne(['meal_id' => $id]);
     $getItems = MealItem::find()->all();
     foreach ($getItems as $key => $value) {
         $data[$value->id] = $value->name;
     }
     $getMealItems = MealItemsManage::find()->select(['item_id'])->where(['meal_id' => $id])->asArray()->all();
     $selected = [];
     if ($getMealItems) {
         $count = 0;
         foreach ($getMealItems as $key => $value) {
             $itemInArray[] = $value['item_id'];
             $count++;
         }
         $selected = $itemInArray;
     }
     //$selectedFlip = array_flip($selected);
     if ($model->load(Yii::$app->request->post())) {
         $dateTime = $model->deal_closing_time;
         //$model->day = $model->day;
         $model->deal_closing_time = strtotime($dateTime);
         $model->created_at = time();
         //$model->deal_status;
         if ($model->save()) {
             if (!empty($productImages)) {
                 //$productImages->meal_id = $model->id;
                 $this->uploadImage($productImages);
             } else {
             }
             $mealItems = Yii::$app->request->post('meal_id');
             if (!empty($mealItems) && !empty($itemInArray)) {
                 $diffItemsNew = array_diff($mealItems, $itemInArray);
                 $diffItemsDeleted = array_diff($itemInArray, $mealItems);
             } elseif (!empty($mealItems)) {
                 foreach ($mealItems as $key => $itemID) {
                     $mealItemsManage = new MealItemsManage();
                     $mealItemsManage->meal_id = $model->id;
                     $mealItemsManage->item_id = $itemID;
                     $mealItemsManage->created_at = time();
                     if ($mealItemsManage->save()) {
                     }
                 }
             }
             if (!empty($diffItemsNew)) {
                 foreach ($diffItemsNew as $key => $itemID) {
                     $mealItemsManage = new MealItemsManage();
                     $mealItemsManage->meal_id = $model->id;
                     $mealItemsManage->item_id = $itemID;
                     $mealItemsManage->created_at = time();
                     if ($mealItemsManage->save()) {
                     }
                 }
             }
             if (!empty($diffItemsDeleted)) {
                 foreach ($diffItemsDeleted as $key => $itemID) {
                     $mealItemsManage = MealItemsManage::findOne(['meal_id' => $id, 'item_id' => $itemID]);
                     if ($mealItemsManage->delete()) {
                     }
                 }
             }
             return $this->redirect(['view', 'id' => $model->id]);
         }
     } else {
         $model->deal_closing_time = \Yii::$app->formatter->asTime($model->deal_closing_time, "php:Y-m-d H:i:s");
         # 2014-10-03 14:09:20
         return $this->render('update', ['model' => $model, 'productImages' => $productImages, 'data' => $data, 'selected' => $selected]);
     }
 }
Esempio n. 2
0
 public function actionCheckoutreponse()
 {
     \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
     $request = Yii::$app->request;
     $checkOut = [];
     $id = $request->post('id');
     $qty = $request->post('qty');
     // $id = 3;
     // $qty= 3;
     $getMealItems = MealItemsManage::find()->select(['item_id'])->where(['meal_id' => $id])->asArray()->all();
     $query = new Query();
     $query->select(['meal.*', 'meal_image.image_new_url', 'meal_image.image_org_url'])->from('meal')->join('LEFT JOIN', 'meal_image', 'meal_image.meal_id = meal.id')->where(['meal.id' => $id]);
     $command = $query->createCommand();
     $checkOut[$id] = $command->queryAll()[0];
     $checkOut[$id]['qty'] = $qty;
     if (!empty($getMealItems)) {
         $count = 0;
         foreach ($getMealItems as $key => $value) {
             $query2 = new Query();
             $query2->select(['meal_item.*', 'meal_item_image.image_new_url', 'meal_item_image.image_org_url'])->from('meal_item')->join('LEFT JOIN', 'meal_item_image', 'meal_item_image.itemID = meal_item.id')->where(['meal_item.id' => $value['item_id']]);
             $command = $query2->createCommand();
             $dataMealItem[] = $command->queryAll()[0];
         }
         $checkOut[$id]['items'] = $dataMealItem;
     }
     $totalPrice = 0;
     foreach ($checkOut[$id]['items'] as $key => $value) {
         $totalPrice += $value['price'];
     }
     $totalPrice = $totalPrice * $qty;
     $checkOut[$id]['totalPrice'] = $totalPrice;
     // echo '<pre>';
     //       print_r($totalPrice);die;
     Yii::$app->session->set('checkOut', $checkOut);
     return 'success';
     // if(!empty($itemInArray)){
     //     $data[0]['item'] = implode(',', $itemInArray);
     // }
     // else{
     //     $data[0]['item'] = 'not selected item';
     // }
 }