public function postRefund()
 {
     $postdata = Input::all();
     $panIDPK = Input::get('pan_id_pk');
     $currenttime = Commonmodel::dateandtime();
     if (!$panIDPK) {
         return Response::json(array('status' => "failed", 'message' => 'Please send a PAN ID'));
     } else {
         $findrefuncid = Panoffiline::find($panIDPK);
         if ($findrefuncid) {
             $getcurrentuser = Panoffiline::where('pan_id_pk', '=', $panIDPK)->pluck('pan_created_by');
             $response = Panoffiline::where('pan_id_pk', $panIDPK)->get();
             if ($response) {
                 foreach ($response as $res) {
                     $userfinID = $res->pan_created_by;
                     $panCoupenNo = $res->pan_coupon_no;
                     $mainBalance = Userfinance::where('ufin_user_id', $userfinID)->pluck('ufin_main_balance');
                     $panTotBal = $mainBalance + 106;
                     $balanceDebit = array('ufin_main_balance' => $panTotBal);
                     if ($panCoupenNo != '0') {
                         Userfinance::where('ufin_user_id', '=', $userfinID)->update($balanceDebit);
                         $coupenReset = array('pan_coupon_no' => '');
                         Panoffiline::where('pan_id_pk', '=', $panIDPK)->update($coupenReset);
                         $panCoupenUpdate = array('pc_coupon_no' => $panCoupenNo);
                         $procode = Products::where('prod_short_name', '=', 'PANM')->pluck('prod_code');
                         $panledger = array('lr_date' => $currenttime, 'lr_trans_type' => 'CR', 'lr_comment' => 'Pan Refund', 'lr_credit_amount' => '106', 'lr_post_balance' => $panTotBal, 'lr_created_by' => $getcurrentuser, 'lr_prod_code' => $procode);
                         $panlegcreta = new Ledgerreport();
                         $panlegcreta->create($panledger);
                         $coupen = new Coupons();
                         $coupen->create($panCoupenUpdate);
                         return Response::json(array('status' => "success", 'message' => 'Amount debited successfully'));
                     } else {
                         return Response::json(array('status' => "failure", 'message' => 'PAN Card has been already applied for refund'));
                     }
                 }
             }
         } else {
             return Response::json(array('status' => "failure", 'message' => 'No User found for this ID'));
         }
     }
 }
 public function postUserbalanceadd()
 {
     $postdata = file_get_contents("php://input");
     if (!empty($postdata)) {
         $currentdate = Commonmodel::dateandtime();
         $userIdPk = Input::get('userIdPk');
         $userId = Input::get('userId');
         $currentUserId = Input::get('currentUserId');
         $currentUserIdPk = Input::get('currentUserIdPk');
         $parentId = Input::get('parentId');
         $parentIdPk = Input::get('parentIdPk');
         $clientIP = Input::get('clientIP');
         $amount = Input::get('amount');
         $feePerc = Input::get('feePerc');
         $balancefromuser = Userfinance::where('ufin_user_id', '=', $currentUserId)->get();
         $balancetouser = Userfinance::where('ufin_user_id', '=', $userId)->get();
         if (count($balancefromuser) > 0) {
             foreach ($balancefromuser as $balancefromusers) {
                 $formuserbalance = $balancefromusers->ufin_main_balance;
                 $formusercurrenttotalcredited = $balancefromusers->ufin_total_credited;
             }
             if ($formuserbalance > $amount) {
                 if (count($balancetouser) > 0) {
                     foreach ($balancetouser as $balancetouser) {
                         $btcurrentmainbal = $balancetouser->ufin_main_balance;
                         $btcurrenttotalcredited = $balancetouser->ufin_total_credited;
                     }
                     if ($feePerc > 0) {
                         $newper = $feePerc / 100;
                         $finalper = $amount * $newper;
                         $amount = $amount - $finalper;
                     } else {
                         $finalper = $feePerc;
                     }
                     $updateuserbalance = array('ufin_main_balance' => $btcurrentmainbal + $amount, 'ufin_total_credited' => $btcurrenttotalcredited + $amount);
                     Userfinance::where('ufin_user_id', '=', $userId)->update($updateuserbalance);
                     $newbalupdatecr = 0;
                     $newbalupdatecr = $formuserbalance - $amount;
                     $updateuserbalance = array('ufin_main_balance' => $newbalupdatecr);
                     Userfinance::where('ufin_user_id', '=', $currentUserId)->update($updateuserbalance);
                     $creditcharge = array('cr_user_id' => $userId, 'cr_type' => 'CR', 'cr_open_bal' => $btcurrentmainbal, 'cr_amount' => $amount, 'cr_fee' => $finalper, 'cr_new_bal' => $btcurrentmainbal + $amount, 'cr_created_by' => $currentUserId, 'cr_created_at' => $currentdate);
                     $getcurrentuserid = Userfinance::where('ufin_user_id', '=', $currentUserId)->pluck('ufin_main_balance');
                     $newbalcenaces = 0;
                     $newbalcenaces = $formuserbalance - $amount;
                     $ledgercreditdb = array('lr_date' => $currentdate, 'lr_trans_type' => 'DB', 'lr_comment' => 'Balance Transfer', 'lr_debit_amount' => $amount, 'lr_post_balance' => $newbalcenaces, 'lr_created_by' => $currentUserId);
                     $addnewledger = new Ledgerreport();
                     $addnewledger->create($ledgercreditdb);
                     $newbalcenaces1 = 0;
                     $newbalcenaces1 = $btcurrentmainbal + $amount;
                     $ledgercreditcr = array('lr_date' => $currentdate, 'lr_trans_type' => 'CR', 'lr_comment' => "Balance Transfer", 'lr_credit_amount' => $amount, 'lr_post_balance' => $newbalcenaces1, 'lr_created_by' => $currentUserId);
                     $addnewledger = new Ledgerreport();
                     $addnewledger->create($ledgercreditcr);
                     $creditchargeinsert = new Usercreditrecharge();
                     $creditchargeinsert->create($creditcharge);
                     return Response::json(array('status' => 'success', 'message' => 'User Credit Added Successfully'));
                 } else {
                     return Response::json(array('status' => 'failure', 'message' => 'No User With This ID'));
                 }
             } else {
                 return Response::json(array('status' => 'failure', 'message' => 'You do not have sufficient balance to transfer the amount'));
             }
         }
     } else {
         return Response::json(array('status' => 'failure', 'message' => 'Fill All Manditary Fields'));
     }
 }