<?php
//20181003 - Added New - Rachel
//20190523 - Added New Fields on Save function - Gael

// error_reporting(-1);
// ini_set('display_errors', '1');
// set_error_handler("var_dump");

require ('../config/dbconnect.php');

//ini
$calc_first_name              = $_POST['calc_first_name'];
$calc_last_name               = $_POST['calc_last_name'];
$calc_email                   = $_POST['calc_email'];
$calc_telephone               = !isset($_POST["calc_telephone"]) ? null : $_POST['calc_telephone'];
$calc_mobile                  = !isset($_POST["calc_mobile"]) ? null : $_POST['calc_mobile'];
$calc_kruger_quantity         = $_POST['calc_kruger_quantity'];
$calc_kruger_cost_total       = (float)str_replace(',', '', $_POST['calc_kruger_cost_total']);
$calc_collect_location        = $_POST['calc_collect_location'];
$dblKrugerrandQuantityTwo     = !isset($_POST["dblKrugerrandQuantityTwo"]) ? null : $_POST["dblKrugerrandQuantityTwo"];
$dblKrugerrandQuantityThree   = !isset($_POST["dblKrugerrandQuantityThree"]) ? null : $_POST["dblKrugerrandQuantityThree"];
$dblKrugerrandQuantityFour    = !isset($_POST["dblKrugerrandQuantityFour"]) ? null : $_POST["dblKrugerrandQuantityFour"];
$dblTotalCoinWeight           = !isset($_POST["dblTotalCoinWeight"]) ? null : (float)str_replace(',', '', $_POST['dblTotalCoinWeight']);
$dblCurrentSellPrice          = !isset($_POST["dblCurrentSellPrice"]) ? null : (float)str_replace(',', '', $_POST['dblCurrentSellPrice']);
$dblTotalSellPrice            = !isset($_POST["dblTotalSellPrice"]) ? null : (float)str_replace(',', '', $_POST['dblTotalSellPrice']);
$strReferenceNumber           = null;
$intBedReferenceNumber        = null;
$intCapReferenceNumber        = null;
$intReferenceNumber           = null;
$strAdditionalNotes           = !isset($_POST["strAdditionalNotes"]) ? null : $_POST["strAdditionalNotes"];
$idNumber                     = !isset($_POST["idNumber"]) ? null : $_POST["idNumber"];
$passportNumber               = !isset($_POST["sell_krugerrand_passport_number"]) ? null : $_POST["sell_krugerrand_passport_number"];
$strAddressLineOne            = !isset($_POST["strAddressLineOne"]) ? null : $_POST["strAddressLineOne"];
$strAddressLineTwo            = !isset($_POST["strAddressLineTwo"]) ? null : $_POST["strAddressLineTwo"];
$strCity                      = !isset($_POST["strCity"]) ? null : $_POST["strCity"];
$strPostalCode                = !isset($_POST["strPostalCode"]) ? null : $_POST["strPostalCode"];



//20181003 - Using $DBH, for some reasons the live site [sabullionco/config/dbConnect.php] still uses $DBH, dont know if this is being used else where or what - Rachel

try 
{
   global $DBH;
   # MySQL with PDO_MYSQL
   if(!isset($calc_first_name) OR !isset($calc_last_name) OR !isset($calc_email) OR !isset($calc_kruger_quantity) OR !isset($calc_kruger_cost_total) OR !isset($calc_collect_location))
   {
     // echo "<script type= 'text/javascript'>alert('Data not sent successfuly: MISSING DATA');</script>";
     // //header('HTTP/1.1 400 Bad Request');
     // exit();

      echo json_encode(array("success"=>false,"message"=>"Data not sent successfuly: MISSING DATA"),JSON_PRETTY_PRINT);
      exit();
   }

   //20180131 - Reference number added to investment concept for output on the pdf -CL
   // $pdo = $DBH->query("SELECT IF(MAX(sbic_reference_number) IS NULL,0,MAX(sbic_reference_number))+1 as sbic_reference_number FROM sb_kruger_sell_calc");

   // while ($row = $pdo->fetch())
   // {
   //    $intReferenceNumber = $row['sbic_reference_number'];
   //    $strReferenceNumber = "KRGSELL".str_pad($intReferenceNumber, 6, "0",STR_PAD_LEFT);
   // }

   if($calc_collect_location == "BRINKS Bedfordview")
   {
      //20180131 - Reference number added to investment concept for output on the pdf -CL
      $pdo = $DBH->query("SELECT IF(MAX(sbic_reference_bed_number) IS NULL,0,MAX(sbic_reference_bed_number))+1 as sbic_reference_bed_number FROM sb_kruger_sell_calc");

      while ($row = $pdo->fetch())
      {
         $intBedReferenceNumber = $row['sbic_reference_bed_number'];
         $strReferenceNumber = "SABSRBDV".str_pad($intBedReferenceNumber, 5, "0",STR_PAD_LEFT);
      }
      $intCapReferenceNumber = 0;
   }else{
      //20180131 - Reference number added to investment concept for output on the pdf -CL
      $pdo = $DBH->query("SELECT IF(MAX(sbic_reference_cpt_number) IS NULL,0,MAX(sbic_reference_cpt_number))+1 as sbic_reference_cpt_number FROM sb_kruger_sell_calc");

      while ($row = $pdo->fetch())
      {
         $intCapReferenceNumber = $row['sbic_reference_cpt_number'];
         $strReferenceNumber = "SABSRCPT".str_pad($intCapReferenceNumber, 5, "0",STR_PAD_LEFT);
      }
      $intBedReferenceNumber = 0;
   }
            
   if($strReferenceNumber != null)
   {
      //20171108 - Update Investment Calculator to save name as first and last name -CL
      //20190523 - Added New Fields on Save function - Gael
      $pdo = $DBH->prepare("INSERT INTO sb_kruger_sell_calc 
         (
               sbic_first_name
            ,  sbic_last_name
            ,  sbic_mail
            ,  sbic_id_number
            ,  sbic_passport_number
            ,  sbic_telephone
            ,  sbic_mobile
            ,  sbic_kruger_quantity
            ,  sbic_kruger_cost_total
            ,  sbic_reference_bed_number
            ,  sbic_reference_cpt_number
            ,  sbic_reference_string
            ,  sbic_collect_location
            ,  sbic_notes
            ,  sbic_kruger_quantity_half
            ,  sbic_kruger_quantity_quarter
            ,  sbic_kruger_quantity_tenth
            ,  sbic_current_sell_price 
            ,  sbic_total_coin_weight 
            ,  sbic_total_sell_price
            ,  sbic_address_line_one
            ,  sbic_address_line_two
            ,  sbic_city
            ,  sbic_postal_code
         ) VALUES 
         (
               :sbic_first_name
            ,  :sbic_last_name
            ,  :sbic_mail
            ,  :sbic_id_number
            ,  :sbic_passport_number
            ,  :sbic_telephone
            ,  :sbic_mobile
            ,  :sbic_kruger_quantity
            ,  :sbic_kruger_cost_total
            ,  :sbic_reference_bed_number
            ,  :sbic_reference_cpt_number
            ,  :sbic_reference_string
            ,  :sbic_collect_location
            ,  :sbic_notes
            ,  :sbic_kruger_quantity_half
            ,  :sbic_kruger_quantity_quarter
            ,  :sbic_kruger_quantity_tenth
            ,  :sbic_current_sell_price 
            ,  :sbic_total_coin_weight 
            ,  :sbic_total_sell_price
            ,  :sbic_address_line_one
            ,  :sbic_address_line_two
            ,  :sbic_city
            ,  :sbic_postal_code
         )
      ");
      $pdo->execute(array(
            ":sbic_first_name" => $calc_first_name
         ,  ":sbic_last_name" => $calc_last_name
         ,  ":sbic_mail" => $calc_email
         ,  ":sbic_id_number" => $idNumber
         ,  ":sbic_passport_number" => $passportNumber
         ,  ":sbic_telephone" => $calc_telephone
         ,  ":sbic_mobile" => $calc_mobile
         ,  ":sbic_kruger_quantity" => $calc_kruger_quantity
         ,  ":sbic_kruger_cost_total" => $calc_kruger_cost_total
         ,  ":sbic_reference_bed_number" => $intBedReferenceNumber
         ,  ":sbic_reference_cpt_number" => $intCapReferenceNumber
         ,  ":sbic_reference_string" => $strReferenceNumber
         ,  ":sbic_collect_location" => $calc_collect_location
         ,  ":sbic_notes" => $strAdditionalNotes
         ,  ":sbic_kruger_quantity_half" => $dblKrugerrandQuantityTwo
         ,  ":sbic_kruger_quantity_quarter" => $dblKrugerrandQuantityThree
         ,  ":sbic_kruger_quantity_tenth" => $dblKrugerrandQuantityFour
         ,  ":sbic_current_sell_price" => $dblCurrentSellPrice
         ,  ":sbic_total_coin_weight" => $dblTotalCoinWeight
         ,  ":sbic_total_sell_price" => $dblTotalSellPrice
         ,  ":sbic_address_line_one" => $strAddressLineOne
         ,  ":sbic_address_line_two" => $strAddressLineTwo
         ,  ":sbic_city" => $strCity
         ,  ":sbic_postal_code" => $strPostalCode
      ));

      $affected_rows = $pdo->rowCount();
      
      if($affected_rows >= 1)
      {
         echo json_encode(array("success"=>true,"strReferenceNumber"=>$strReferenceNumber),JSON_PRETTY_PRINT);
      }else{
         //echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
         echo json_encode(array("success"=>false,"message"=>"Data not successfully Inserted."),JSON_PRETTY_PRINT);
      }
      $DBH = null;
   }
   else
   {
      //echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
      echo json_encode(array("success"=>false,"message"=>"Data not successfully Inserted."),JSON_PRETTY_PRINT);
   }
}catch(PDOException $e)
{
   echo $e->getMessage();
}
?>