public function createBatch()
{
$dataValidate = json_decode($this->request->getPost('params_json'), true);
$validationRules = [
'*.params_id' => 'required|string|max_length[3]|is_unique[sm_benefit_group.benefitgroup_id]',
'*.params_name' => 'required|string|max_length[100]',
'*.params_gender' => 'required|validBenefitGroupGender',
'*.params_description'=> 'required|string|max_length[255]',
'*.params_created' => 'required|integer',
];
$validationMessages = [
'*.params_id' => [
'required' => 'ID must be required',
'string' => 'ID must be string',
'max_length' => 'ID must be maximum 3 length',
'is_unique' => 'ID already exists, try another unique',
],
'*.params_name' => [
'required' => 'Name must be required',
'string' => 'Name must be string',
'max_length' => 'Name must be maximum 100 length',
],
'*.params_gender' => [
'required' => 'Gender Type must be required',
'validBenefitGroupGender' => 'Gender Type must be string and between ("All","M","F")',
],
'*.params_description' => [
'required' => 'Description must be required',
'string' => 'Description must be string',
'max_length' => 'Description must be maximum 255 length',
],
'*.params_created' => [
'required' => 'Created By must be required',
'integer' => 'Created By must be integer',
],
];
$this->validation->setRules($validationRules, $validationMessages);
if ($this->validation->run($dataValidate)) {
$dataParams = array();
foreach ($dataValidate as $index => $value) {
$dataParams[$index]['benefitgroup_id'] = $value['params_id'];
$dataParams[$index]['benefitgroup_name'] = $value['params_name'];
$dataParams[$index]['benefitgroup_gender'] = $value['params_gender'];
$dataParams[$index]['benefitgroup_description'] = $value['params_description'];
$dataParams[$index]['benefitgroup_created_by'] = $value['params_created'];
$dataParams[$index]['benefitgroup_modified_by'] = $value['params_created'];
}
$result = $this->benefitgroup_model->saveDataBatch($dataParams);
if ($result) {
$response = [
'success' => true,
'status' => 201,
'messages' => 'Data benefit group saved!',
];
// Result
return $this->respond($response, 201);
} else {
$response = [
'success' => false,
'status' => 400,
'messages' => 'Data benefit group cant be saved!',
];
// Result
return $this->respond($response, 400);
}
} else {
$response = [
'success' => false,
'status' => 400,
'messages' => 'Validation data benefit group failed!',
'validation' => $this->validation->getErrors(),
];
// Result
return $this->respond($response, 400);
}
}