public function postCreate() { $postdata = file_get_contents("php://input"); if (!empty($postdata)) { $userName = Input::get('userName'); $userEmail = Input::get('userEmail'); $userMobile = Input::get('userMobile'); $userAddress1 = Input::get('userAddress1'); $userAddress2 = Input::get('userAddress2'); $userCity = Input::get('userCity'); $userState = Input::get('userState'); $userPincode = Input::get('userPincode'); $userType = Input::get('userType'); $currentUserId = Input::get('currentUserId'); $currentUserIdPk = Input::get('currentUserIdPk'); $parentId = Input::get('parentId'); $parentIdPk = Input::get('parentIdPk'); $lockbalance = Input::get('lock_balance'); $mainbalance = Input::get('main_balance'); $usercount = Input::get('user_count'); $userStatus = Input::get('userStatus'); $products = Input::get('products'); $createdat = Commonmodel::dateandtime(); $clientIp = Input::get('clientIp'); if ($userEmail != "" && $userMobile != "" && $userAddress1 != "" && $userAddress2 != "" && $userCity != "" && $userState != "" && $userPincode != "" && $userType != "" && $currentUserId != "" && $currentUserIdPk != "" && $parentIdPk != "" && $userStatus != "" && $products != "" && $userName != '') { if (empty($lockbalance)) { $checkbalancedetection = Balancedetection::where('bal_usr_roll', '=', $userType)->get(); if (count($checkbalancedetection) > 0) { $lockbalance = Balancedetection::where('bal_usr_roll', '=', $userType)->pluck('bal_detn_amt'); } else { $lockbalance = 0; } } if (empty($mainbalance)) { $mainbalance = 0; } $checklockbalance = Userfinance::where('ufin_user_id', '=', $currentUserId)->pluck('ufin_lock_balance'); $checkmainbalance = Userfinance::where('ufin_user_id', '=', $currentUserId)->pluck('ufin_main_balance'); if ($checkmainbalance < $checklockbalance) { return Response::json(array('status' => 'failure', 'message' => 'Your lock balance is too low to create this user with mentioned amount')); } else { $checkbalancecreate = $checkmainbalance - $checklockbalance; if ($checkbalancecreate < $mainbalance) { return Response::json(array('status' => 'failure', 'message' => 'You have Insufficient Balance ')); } else { $newbalance = $checkmainbalance - $mainbalance; if (!empty($products)) { $emailcheck = User::where('UD_USER_EMAIL', $userEmail)->get(); if (count($emailcheck) > 0) { return Response::json(array('status' => 'failure', 'message' => 'Email ID Already Exist')); } else { $mobilenumcheck = User::where('UD_USER_MOBILE', $userMobile)->get(); if (count($mobilenumcheck) > 0) { return Response::json(array('status' => 'failure', 'message' => 'Phone Number Already Exist')); } else { if ($userType != 'SP') { $getusercount = count(User::where('UD_USER_TYPE', '=', $userType)->get()); $checkstatedetailsf = Balancedetection::where('bal_usr_roll', '=', $userType)->pluck('user_reg_count'); $checkindiviudalcount = User::where('UD_ID_PK', '=', $parentIdPk)->pluck('UD_USER_CREATE_COUNT'); if ($getusercount <= $checkstatedetailsf) { if ($userType == 'SAS') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'SA')->pluck('user_reg_count'); } elseif ($userType == 'SP') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'SA')->pluck('user_reg_count'); } elseif ($userType == 'SPS') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'SP')->pluck('user_reg_count'); } elseif ($userType == 'SD') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'SP')->pluck('user_reg_count'); } elseif ($userType == 'SDS') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'SD')->pluck('user_reg_count'); } elseif ($userType == 'D') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'SD')->pluck('user_reg_count'); } elseif ($userType == 'DS') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'D')->pluck('user_reg_count'); } elseif ($userType == 'FR') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'D')->pluck('user_reg_count'); } elseif ($userType == 'FRS') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'FR')->pluck('user_reg_count'); } elseif ($userType == 'SFR') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'FR')->pluck('user_reg_count'); } elseif ($userType == 'SFRS') { $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', 'FR')->pluck('user_reg_count'); } $usercountdetails = count(User::where('UD_USER_TYPE', '=', $userType)->get()); } elseif ($getusercount <= $checkindiviudalcount) { $usercountdetails = count(User::where('UD_USER_TYPE', '=', $userType)->get()); $currentcountcheck = $checkindiviudalcount; } else { return Response::json(array('status' => 'failure', 'message' => 'You Reached Limit for creating Sub Role')); } } else { $getusercount = Balancedetection::where('bal_usr_roll', '=', 'SP')->pluck('user_reg_count'); $checkstatedetailsf = count(User::where('UD_USER_TYPE', '=', $userType)->where('UD_USER_STATE', '=', $userState)->get()); $stateusercountdetails = count(State::where('adt_state_name', '=', $userState)->get()); if (count($checkstatedetailsf) > $getusercount) { $usercountdetails = count(User::where('UD_USER_TYPE', '=', $userType)->where('UD_USER_STATE', '=', $userState)->get()); $currentcountcheck = State::where('adt_state_name', '=', $userState)->pluck('adt_state_count'); $statpatuserid = State::where('adt_state_name', '=', $userState)->pluck('adt_state_code'); } elseif (count($checkstatedetailsf) <= $getusercount) { $usercountdetails = count(User::where('UD_USER_TYPE', '=', $userType)->where('UD_USER_STATE', '=', $userState)->get()); $currentcountcheck = Balancedetection::where('bal_usr_roll', '=', $userType)->pluck('user_reg_count'); $statpatuserid = State::where('adt_state_name', '=', $userState)->pluck('adt_state_code'); } else { return Response::json(array('status' => 'failure', 'message' => 'You Exceed the limit for creating State Partner')); } } if ($usercountdetails > $currentcountcheck) { return Response::json(array('status' => 'failure', 'message' => 'You Reached Limit for creating Sub Role')); } else { if (empty($usercount)) { if ($userType == 'SAS') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'SA')->pluck('user_reg_count'); } elseif ($userType == 'SP') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'SD')->pluck('user_reg_count'); } elseif ($userType == 'SPS') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'SP')->pluck('user_reg_count'); } elseif ($userType == 'SD') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'D')->pluck('user_reg_count'); } elseif ($userType == 'SDS') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'SD')->pluck('user_reg_count'); } elseif ($userType == 'D') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'FR')->pluck('user_reg_count'); } elseif ($userType == 'DS') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'D')->pluck('user_reg_count'); } elseif ($userType == 'FR') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'SFR')->pluck('user_reg_count'); } elseif ($userType == 'FRS') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'FR')->pluck('user_reg_count'); } elseif ($userType == 'SFR') { $usercount = Balancedetection::where('bal_usr_roll', '=', 'SFRS')->pluck('user_reg_count'); } else { } } $usernameforpass = preg_replace('/\\s+/', '', $userName); $userkeysend = $userType . $usernameforpass . str_random(2); $userkey = md5($userkeysend); $input = array('UD_USER_ID' => 0, 'UD_USER_KEY' => $userkey, 'UD_USER_NAME' => Input::get('userName'), 'UD_PARENT_ID' => Input::get('parentIdPk'), 'UD_USER_TYPE' => Input::get('userType'), 'UD_USER_EMAIL' => Input::get('userEmail'), 'UD_USER_MOBILE' => Input::get('userMobile'), 'UD_USER_ADDRESS1' => Input::get('userAddress1'), 'UD_USER_ADDRESS2' => Input::get('userAddress2'), 'UD_USER_CITY' => Input::get('userCity'), 'UD_USER_STATE' => Input::get('userState'), 'UD_USER_PINCODE' => Input::get('userPincode'), 'UD_USER_STATUS' => Input::get('userStatus'), 'UD_CREATED_AT' => $createdat, 'UD_CREATED_BY' => Input::get('currentUserId'), 'UD_USER_LINK' => Input::get('UD_USER_LINK'), 'UD_USER_CREATE_COUNT' => $usercount); $userid = DB::table('adt_user_details')->insertGetId($input); if ($userType != 'SP') { $useridgen = $userType . $userid; } else { $useridgen = $statpatuserid . $userid; } $useridupdate = array('UD_USER_ID' => $useridgen); User::where('UD_ID_PK', $userid)->update($useridupdate); $len = count($products); for ($j = 0; $j < $len; $j++) { $productinput = array('upa_prod_code' => $products[$j]['prodCode'], 'upa_ud_user_id' => $useridgen, 'upa_access_status' => $products[$j]['prodStatus'], 'upa_created_at' => $createdat, 'upa_created_by' => $currentUserId); $newproduct = new Userproductaccess(); $newproduct->create($productinput); } $userfinance = array('ufin_user_id_pk_fk' => $userid, 'ufin_user_id' => $useridgen, 'ufin_main_balance' => $mainbalance, 'ufin_comm_earned' => 0, 'ufin_total_credited' => 0, 'ufin_total_used' => 0, 'ufin_total_comm' => 0, 'ufin_fee_perc' => 0, 'ufin_lock_balance' => $lockbalance); $objfinance = new Userfinance(); $objfinance->create($userfinance); $balanceupdate = array('ufin_main_balance' => $newbalance); Userfinance::where('ufin_user_id', $parentId)->update($balanceupdate); Mail::send('users.mails.welcome', array('userid' => $useridgen, 'password' => $userkeysend), function ($message) { $message->to(Input::get('userEmail'), Input::get('userName'))->subject('Reg: User ID and Password For you AppanDUkan Account'); }); return Response::json(array('status' => 'success', 'message' => 'User have Been Created Successfully')); } } } } else { return Response::json(array('status' => 'failure', 'message' => 'Atlease Fill Once Product to Register the User')); } } } } else { return Response::json(array('status' => 'failure', 'message' => 'Fill All Manditary Fields')); } } }