コード例 #1
0
ファイル: order_test.php プロジェクト: samdubey/ads2
 public function testItems()
 {
     $order = Order::findById(2);
     $items = $order->items;
     $this->assertInstanceOf('Collection', $items);
     $this->assertInstanceOf('OrderItem', $items[0]);
 }
コード例 #2
0
ファイル: ordertest.php プロジェクト: samdubey/ads2
function change_claim($id)
{
    $order = Order::findById($id);
    #echo $order->date;
    $days = 3600 * 24 * 5;
    $due = 3600 * 24 * 30;
    $claim = $order->date;
    #echo $claim;
    $order->date_claimed = $claim + $days;
    echo $order->date_claimed;
    $order->due = $order->date_claimed + $due;
    $order->save();
}
コード例 #3
0
ファイル: orderitem.php プロジェクト: samdubey/ads2
 public function setOrder($value)
 {
     if ($value instanceof Order) {
         $this->_orm->order_id = $value->id;
         return true;
     }
     $order = Order::findById($value);
     if ($order) {
         $this->_orm->order_id = $value;
         return true;
     }
     throw new Exception("Order does not exist");
 }
コード例 #4
0
ファイル: orderctrl.php プロジェクト: samdubey/ads2
 public static function change()
 {
     return function ($request, $response) {
         $user_id = $request->session('id');
         if ($user_id) {
             $id = $request->id;
             $order = Order::findById($id);
             if ($order) {
                 $data = $request->data();
                 $data->user_id = $data->user->id;
                 $order->update($data);
                 $response->json($order->as_array());
             } else {
                 $response->code(404);
             }
         } else {
             $response->code(403);
         }
     };
 }
コード例 #5
0
ファイル: orderitem_test.php プロジェクト: samdubey/ads2
<?php

require_once '../general.php';
//$item = OrderItem::findById(19);
//print_r($item->as_array());
//$item->delete();
$order = Order::findById(2);
print_r($order->as_array());
コード例 #6
0
ファイル: reportctrl.php プロジェクト: samdubey/ads2
 public static function user_order_receipt()
 {
     return function ($request, $response) {
         $user_id = $request->session('id');
         if ($user_id) {
             $response->header('Content-Type', 'application/pdf');
             $id = $request->id;
             $order = Order::findById($id);
             $report = Zend_Pdf::load('../pdf/trustrec.pdf');
             $page = $report->pages[0];
             $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES);
             $page->setFont($font, 11);
             $page->drawText(Time::unixToDate(time()), 460, 900);
             $page->drawText(Time::unixToDate(time()), 460, 455);
             $page->drawText('Order#: ' . $order->id, 400, 910);
             $page->drawText('Order#: ' . $order->id, 400, 465);
             $page->drawText($order->user->profile->fullname, 100, 900);
             $page->drawText($order->user->profile->fullname, 100, 455);
             $page->drawText($order->user->profile->address, 440, 530);
             $page->drawText($order->user->profile->address, 440, 85);
             $page->drawText($order->user->profile->fullname, 445, 555);
             $page->drawText($order->user->profile->fullname, 445, 109);
             $row = 850;
             foreach ($order->items as $item) {
                 # code...
                 $page->drawText($item->product->name, 80, $row);
                 $page->drawText($item->product->name, 80, $row - 446);
                 $page->drawText($item->quantity, 45, $row);
                 $page->drawText($item->quantity, 45, $row - 446);
                 $page->drawText(money_format('%5.2n', $item->product->price), 315, $row);
                 $page->drawText(money_format('Php %5.2n', $item->subtotal), 370, $row);
                 $page->drawText(money_format('%5.2n', $item->product->price), 315, $row - 446);
                 $page->drawText(money_format('Php %5.2n', $item->subtotal), 370, $row - 446);
                 $row -= 17;
             }
             $page->drawText(money_format('Php %5.2n', $order->total), 370, 562);
             $page->drawText(money_format('Php %5.2n', $order->total), 370, 118);
             #$page->drawText( money_format('Php %5.2n', $order->total * 0.30),450,485);
             echo $report->render();
         } else {
             $response->code(403);
         }
     };
 }
コード例 #7
0
 public static function changeAmount()
 {
     $user = usr::getCurrentUser(1);
     if ($user == null) {
         self::printErrorJson("You are not authorized");
         return;
     }
     $orderId = Core::validate(self::getVar('orderId'));
     $volume = Core::validate(self::getVar('amount'));
     if ($orderId == null || $volume == null || !Core::isDouble($volume)) {
         self::printErrorJson("parameters are defined incorrectly");
         return;
     }
     $order = new Order();
     if (!$order->findById($orderId)) {
         self::printErrorJson("order with id = '{$orderId}' is not exist");
         return;
     }
     if ($order->getUserId() != $user->getId()) {
         self::printErrorJson("order cannot be canceled because it isn't your order");
         return;
     }
     $rate = new Rate();
     $rate->findById($order->getRateId());
     $currency = new Currency();
     $currency->findById($rate->getFirstCurrencyId());
     if ($volume < $currency->getMinOrderAmount()) {
         self::printErrorJson("Please, check min order amount for this currency");
         return;
     }
     $success = OrderModel::changeOrderVolume($order, $volume);
     if (!$success) {
         self::printErrorJson('Amount is not changed');
         return;
     }
     $return['order_id'] = $orderId;
     $return['new_amount'] = $volume;
     $result['success'] = 1;
     $result['return'] = $return;
     print json_encode($result);
 }
コード例 #8
0
 private static function transferMoney(Deal $deal1, Deal $deal2)
 {
     if ($deal1->getType() == 1 && $deal2->getType() == 0) {
         $sellDeal = $deal1;
         $buyDeal = $deal2;
     } else {
         if ($deal1->getType() == 0 && $deal2->getType() == 1) {
             $sellDeal = $deal2;
             $buyDeal = $deal1;
         } else {
             return false;
         }
     }
     $rate = new Rate();
     $rate->findById($sellDeal->getRateId());
     $sellOrder = new Order();
     $sellOrder->findById($sellDeal->getOrderId());
     $buyOrder = new Order();
     $buyOrder->findById($buyDeal->getOrderId());
     $sellerSecondCurrencyPurse = self::getPurseOrMakeNew($sellOrder->getUserId(), $rate->getSecondCurrencyId());
     $buyerFirstCurrencyPurse = self::getPurseOrMakeNew($buyOrder->getUserId(), $rate->getFirstCurrencyId());
     $buyerSecondCurrencyPurse = self::getPurseOrMakeNew($buyOrder->getUserId(), $rate->getSecondCurrencyId());
     $firstCurVolume = $sellDeal->getVolume();
     $buyerFirstCurrencyPurse->addValue($firstCurVolume);
     $buyerFirstCurrencyPurse->save();
     $secondCurVolume = $firstCurVolume * $sellDeal->getPrice();
     $sellerSecondCurrencyPurse->addValue($secondCurVolume * (1.0 - $rate->getFee()));
     $refund = ($firstCurVolume * $buyOrder->getPrice() - $secondCurVolume) * (1.0 + $rate->getFee());
     if ($buyOrder->getUserId() != $sellOrder->getUserId()) {
         $sellerSecondCurrencyPurse->save();
         $buyerSecondCurrencyPurse->addValue($refund);
         $buyerSecondCurrencyPurse->save();
     } else {
         $sellerSecondCurrencyPurse->addValue($refund);
         $sellerSecondCurrencyPurse->save();
     }
     return true;
 }