private function saveTempCalculationResultToPrint($quote_id, $resource_id, $total_cost, $cost_calculation, $resource_type, $cabinet_color, $material_id, $door_id, $door_color, $quantity, $door_side = null, $door_drilling = null, $description = null, $edgetape = null) { //, $drawer_id, $drawer_slide_id) { $data = array('quote_id' => $quote_id, 'resource_id' => $resource_id, 'total_cost' => $total_cost, 'cost_calculation' => $cost_calculation, 'resource_type' => $resource_type, 'cabinet_color' => $cabinet_color, 'material_id' => $material_id, 'door_id' => $door_id, 'door_color' => $door_color, 'quantity' => $quantity, 'description' => $description, 'edgetape' => $edgetape, 'temporary' => '1', 'door_side' => $door_side, 'door_drilling' => $door_drilling); App::import('Model', 'QuoteManager.CabinetOrder'); $CabinetOrder = new CabinetOrder(); if ($CabinetOrder->save($data)) { return $CabinetOrder->id; } else { return null; } }
function CabinetOrderCost($order_id = null, $quote_id = null) { $order_data = array(); $total_cost = 0.0; $gst_cost = 0.0; $item_cost = 0.0; App::import("Model", "QuoteManager.CabinetOrder"); $cabinet_order = new CabinetOrder(); if ($order_id) { $order_data = $cabinet_order->find("first", array("conditions" => array("CabinetOrder.id" => $order_id))); } elseif ($quote_id) { $order_data = $cabinet_order->find("first", array("conditions" => array("quote_id" => $quote_id))); } if ($order_data) { $order_items = $this->CabinetOrderItem($order_data['CabinetOrder']['id']); // debug($order_items); foreach ($order_items as $order_item) { $item_info = explode('|', $order_item['CabinetOrderItem']['code']); $item_type = $item_info[1]; switch ($item_type) { case 'item': $item_cost += $order_item['CabinetOrderItem']['quantity'] * $order_item['Item']['price']; break; case 'cabinet': $item_cost += $order_item['CabinetOrderItem']['quantity'] * $order_item['Cabinet']['manual_unit_price']; break; case 'door': $item_cost += $order_item['CabinetOrderItem']['quantity'] * $order_item['Door']['door_price_each']; break; case 'drawer': $item_cost += $order_item['CabinetOrderItem']['quantity'] * $order_item['Door']['drawer_price_each']; break; case 'wall_door': $item_cost += $order_item['GraniteOrderItem']['quantity'] * $order_item['Door']['wall_door_price_each']; break; } } $total_cost += $item_cost; $total_cost += $order_data['CabinetOrder']['delivery_cost'] + $order_data['CabinetOrder']['extras_glass'] + $order_data['CabinetOrder']['counter_top'] + $order_data['CabinetOrder']['installation'] - $order_data['CabinetOrder']['discount']; $gst_cost = $total_cost * GST / 100; $total_cost += $gst_cost; } return array('total_cost' => $total_cost, 'gst_cost' => $gst_cost, 'item_cost' => $item_cost); // debug($order_data); }