/**
  * Checks whether there are any business like the one being saved
  *
  *	Rules for finding if two business are duplicates. If any one of the below
  *	mentioned rules are satisfied, then the business data passed in as $data
  *	param is a duplicate business.
  *
  *	 1) Any business already saved should not have atleast one mobile number 
  *			same as the business being uploaded and status of business is
  * 			BUSINESS_VERIFIED_COMPLETE.
  *	 2) Any business already saved should not have atleast one landline number
  *			same as the business being uploaded and status of business is
  *			BUSINESS_VERIFIED_COMPLETE.
  */
 public static function exists($data)
 {
     $mobile_number = $data["mobile_number"];
     $domain_name = Environment::getCoreAttirbutesDomain();
     $mobile_number = CoreAttributesUtils::implode($mobile_number);
     $query = "SELECT status FROM {$domain_name} WHERE mobile_number " . "IN ({$mobile_number}) ";
     $result = SimpleDbPersister::select($query);
     $items = $result["Items"];
     if (isset($items) === TRUE && $items[0]["Attributes"][0]["Value"] == "BUSINESS_VERIFIED_COMPLETE") {
         return TRUE;
     }
     //Landline number not set, so no need to check
     if (isset($data["landline_number"]) === FALSE) {
         return FALSE;
     }
     $landline_number = $data["landline_number"];
     $landline_number = CoreAttributesUtils::implode($landline_number);
     $query = "SELECT status FROM {$domain_name} WHERE landline_number " . "IN ({$landline_number}) ";
     $result = SimpleDbPersister::select($query);
     $items = $result["Items"];
     if (isset($items) === TRUE && $items[0]["Attributes"]["Value"] == "BUSINESS_VERIFIED_COMPLETE") {
         return TRUE;
     }
     return FALSE;
 }
date_default_timezone_set("Asia/Calcutta");
require_once "config.php";
use citibytes\SMS;
use citibytes\Environment;
use citibytes\BusinessIdGenerator;
use citibytes\utils\SimpleDbUtils;
use citibytes\utils\CoreAttributesUtils;
use citibytes\persister\SimpleDbPersister;
use citibytes\CoreAttributesSchemaValidator;
$data = $_REQUEST["json"];
$data = stripslashes($data);
$data = json_decode($data, TRUE);
$email_id = $_REQUEST["email_id"];
$sms_number = $_REQUEST["sms_number"];
$domain_name = Environment::getCoreAttirbutesDomain();
$is_update_operation = isset($data["business_id"]) === TRUE ? TRUE : FALSE;
//Saving new Business Core Attributes
if ($is_update_operation === FALSE) {
    $business_id = BusinessIdGenerator::generate($data["pincode"]);
    $data["business_id"] = $business_id;
    $data["created_time"] = date('c');
    $data["created_by_user"] = $email_id;
}
//Generate a random 5 digit OTP
$data["otp"] = mt_rand(10000, 99999);
$data["status"] = "TRANSIENT";
$data["last_updated_time"] = date('c');
$data["last_updated_user"] = $email_id;
/**
 * Validate the SMSVerifiableCore Attributes. On success it
 public function __construct($pincode)
 {
     $this->_pincode = $pincode;
     $this->_domain_name = Environment::getCoreAttirbutesDomain();
 }
 public function __construct()
 {
     $this->_core_attributes_schema = new CoreAttributesSchema();
     $this->_domain_name = Environment::getCoreAttirbutesDomain();
 }
 public function __construct($business_id_array)
 {
     $this->_business_id_array = $business_id_array;
     $this->_domain_name = Environment::getCoreAttirbutesDomain();
 }