public function autolikesProfile()
 {
     $planLists = Plan::getInstance()->getAllPlansWhere(['rawQuery' => 'for_usergroup_id=0 and status=1 and plan_type IN(0,4)'], ['plans.plan_id', 'plans.plan_name']);
     //        dd($planLists);
     return view('Admin::instagram_user.igusersdetails', ['planLists' => $planLists]);
     //, ['igUsersDetails' => $IgUsersDetails]
     //        if ($IgUsersDetails) {
     //            foreach ($IgUsersDetails as $ig) {
     //                $last_check[] = $this->convertUT($ig->last_check);
     //                if ($ig->last_delivery != 0)
     //                    $last_delivery[] = $this->convertUT($ig->last_delivery);
     //                else
     //                    $last_delivery[] = 0;
     //            }
     //            return view('Admin::instagram_user.igusersdetails', ['igUsersDetails' => $IgUsersDetails, 'last_check' => $last_check, 'last_delivery' => $last_delivery]);
     //        } else {
     //            return view('Admin::instagram_user.igusersdetails', ['igUsersDetails' => $IgUsersDetails]);
     //        }
 }
 public function addUsergroup(Request $request)
 {
     $objModelPan = Plan::getInstance();
     $whereForAllPlans = array('rawQuery' => 'plans . for_usergroup_id = 0');
     $allPlans = json_decode($objModelPan->getAllPlansWhere1($whereForAllPlans), true);
     if ($request->isMethod('post')) {
         $postData = $request->all();
         //TODO do validation here [group_name required, duplicate   |   foreach plan selected, plan_rate inputs required,number ]
         //            $postData['group_name']
         //TODO insert usergroups table
         foreach ($postData['plans'] as $keyPlan => $valPlan) {
             $newChargePerUnit = $valPlan['charge_per_unit'];
             $parentPlanId = $keyPlan;
             //TODO use addPlan here
         }
     }
     return view('Admin::usergroup/editusergroup', ['code' => '', 'allPlans' => $allPlans]);
 }
 public function editPlan($id, Request $request)
 {
     $objModelPlan = Plan::getInstance();
     $whereForPlan = array('rawQuery' => 'plan_id = ?', 'bindParams' => [$id]);
     $planDetails = $objModelPlan->getPlanWhere($whereForPlan);
     $objModelPlan = Plan::getInstance();
     if ($request->isMethod('post')) {
         $plan_name = $request->input('plan_name');
         $serviceType = $request->input('service_type');
         $planNameCode = $request->input('plan_name_code');
         $min_quantity = $request->input('min_quantity');
         $max_quantity = $request->input('max_quantity');
         $buyingPricePerK = $request->input('buying_price_per_k');
         $charge_per_unit = $request->input('charge_per_unit');
         $status = $request->input('status');
         $this->validate($request, ['plan_name' => 'required|regex:/^[A-Za-z0-9 \\-.-\\[\\]]+$/', 'min_quantity' => 'required|integer|min:1', 'max_quantity' => 'required|integer|min:1', 'buying_price_per_k' => 'required|regex:/^[0-9]+([.][0-9]+)?$/', 'charge_per_unit' => 'required|regex:/^[0-9]+([.][0-9]+)?$/'], ['plan_name.required' => 'Please enter a Plan Type', 'min_quantity.required' => 'Please enter a Minimum Quantity', 'max_quantity.required' => 'Please enter a Maximum Quantity', 'buying_price_per_k.required' => 'Please Enter Buying Price', 'buying_price_per_k.regex' => 'please enter a number or decimal value', 'charge_per_unit.required' => 'Please Specify Charge Per Unit', 'charge_per_unit.regex' => 'please enter a number or decimal value']);
         $whereForUpdatePlan = array('rawQuery' => 'plan_id = ?', 'bindParams' => [$id]);
         $dataForUpdatePlan = array('plan_name' => $plan_name, 'service_type' => $serviceType, 'plan_name_code' => $planNameCode, 'min_quantity' => $min_quantity, 'max_quantity' => $max_quantity, 'buying_price_per_k' => $buyingPricePerK, 'charge_per_unit' => $charge_per_unit);
         $updated = $objModelPlan->updatePlanWhere($dataForUpdatePlan, $whereForUpdatePlan);
         if ($updated) {
             //                return redirect('/admin/plans-list')->with('message', 'Updated!');
             return Redirect::back()->with(['status' => 'success', 'message' => 'Plans has been updated.']);
         } else {
             return Redirect::back()->with(['status' => 'error', 'message' => 'Something went wrong, may be due to same contents. Please reload the page and try again.']);
         }
     }
     return view('Admin::plans.editplans', ['planDetails' => $planDetails]);
 }