예제 #1
0
 public function testDiscardQuotation()
 {
     sleep(1);
     $client = Client::GetClient(2);
     //Creation
     $quotation = Quotation::CreateQuotation($client);
     $service = SurveyOfficeService::Create('Engineering Survey', 'Survey of the engineering kind', floatval(17500));
     $ql = QuotationLine::Create($quotation->id, $service->name, 'Task Description', 2, $service->rate, 16);
     $quotation->addToQuote($ql);
     $this->assertInstanceOf('Quotation', $quotation);
     //discarding
     $quotation->discard();
     //should fail
     $quotation = Quotation::GetQuotation($quotation->id);
     $this->assertTrue($quotation == null);
     //discarding
     //Quotation::Delete($quotation->id);
 }
예제 #2
0
 public function importQuote($quoteId)
 {
     $quote = Quotation::GetQuotation($quoteId);
     $this->quotations[] = $quote;
 }
예제 #3
0
 public function getQuote($qid)
 {
     if ($this->validateAdmin()) {
         echo json_encode(Quotation::GetQuotation($qid));
     } else {
         echo 0;
     }
 }
예제 #4
0
 public static function RaiseQuotationInvoice($clientId, $scope, $quotes, $discount)
 {
     $client = Client::GetClient($clientId);
     if ($scope == "G") {
         $descr = "General Services";
         $pid = 0;
     } else {
         $prj = Project::GetProject(intval($scope));
         $descr = $prj->name . ' Project';
         $pid = intval($scope);
     }
     $qids = implode(",", $quotes);
     $invoice = Invoice::CreateInvoice($client, $pid, $qids, $descr, $discount);
     foreach ($quotes as $qid) {
         $quotation = Quotation::GetQuotation($qid);
         foreach ($quotation->lineItems as $item) {
             $invoice->addToInvoice(InvoiceLine::Create($invoice->id, $item->itemName, $item->itemDesc, $item->quantity, $item->unitPrice, $item->tax));
         }
     }
     if ($invoice->generate()) {
         return new InvoiceTX($invoice, 'Quotation Invoice');
     } else {
         Logger::Log('InvoiceTX', 'Failed', 'Quotation invoice transaction with id:' . $invoice->id . ' and tx id:' . $this->transactionId . ' could not be completed');
         return false;
     }
 }