Пример #1
0
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 *
 * This is a sample application to show how to add a link between Customers
 * entity instance and Orders Entity Intance.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample8: Add a link between a customer entity and Order entity</h3>";
try {
    $proxy = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $cust = new Customers();
    $cust->CustomerID = 'CHAN9';
    $cust->CompanyName = 'channel9';
    $proxy->AddToCustomers($cust);
    $newO = new Orders();
    $proxy->AddToOrders($newO);
    $proxy->AddLink($cust, "Orders", $newO);
    $proxy->SaveChanges();
    echo "Link between a customer entity with ID CHAN9 and a new Order entity has been added";
    echo "<br/>New order id is:" . $newO->OrderID;
} catch (ODataServiceException $e) {
    echo "Error:" . $e->getError() . "<br>" . "Detailed Error:" . $e->getDetailedError();
} catch (InvalidOperation $e) {
    echo $e->getError();
}
Пример #2
0
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample3: List all cutomer's ID in NorthWind DB with USA as Country and associated Order's ID using LoadProperty and Server Side paging</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $query = $svc->Customers()->filter("Country eq 'USA'");
    $customerResponse = $query->Execute();
    $nextCustomerToken = null;
    do {
        if ($nextCustomerToken != null) {
            $customerResponse = $svc->Execute($nextCustomerToken);
        }
        foreach ($customerResponse->Result as $customer) {
            echo '<br/>CustomerID: ' . $customer->CustomerID . "<br/>";
            $nextOrderToken = null;
            echo "<br/>Associated Orders <br/>";
            echo "-----------------------<br/>";
            do {
                $ordersResponse = $svc->LoadProperty($customer, 'Orders', $nextOrderToken);
                foreach ($customer->Orders as $order) {
Пример #3
0
<?php

/*
* By Silvio Garbes
* Em: 10/11/2015
*/
require_once "../proxieNorthwind.php";
$proxy = new NorthwindEntities();
$response = $proxy->Execute("Customers");
foreach ($response->Result as $customer) {
    echo $customer->CompanyName . ": " . $customer->ContactName . "</br>";
}
$response = $proxy->Customers()->Filter("CustomerID eq 'ALFKI'")->Expand('Orders')->Execute();
$customer = $response->Result[0];
echo count($customer->Orders);
Пример #4
0
 *     without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample5: Add a customer entity to Northwind DB with ID 'CHAN9' and CompanyName as 'Channel9'</h3>";
try {
    $proxy = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $customer = Customers::CreateCustomers('channel9', 'CHAN9');
    $proxy->AddToCustomers($customer);
    $proxy->SaveChanges();
    echo "A Customers Entity with CustomerID 'CHAN9' and CompanyName 'channel9' has been added";
} catch (ODataServiceException $e) {
    echo "Error:" . $e->getError() . "<br>" . "Detailed Error:" . $e->getDetailedError();
} catch (InvalidOperation $e) {
    echo $e->getError();
}
?>

Пример #5
0
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample6: Update the CompanyName of customer entity added in Sample5 to 'Channel8'</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $response = $svc->Customers()->filter("CustomerID eq 'CHAN9'")->Execute();
    if (count($response->Result)) {
        $customer = $response->Result[0];
        $customer->CompanyName = 'Channel8';
        $svc->UpdateObject($customer);
        $svc->SaveChanges();
        echo 'Company name of Customer with ID CHAN9 has been updated to Channel8';
    } else {
        echo 'Customer with CustomerID CHAN9 not found';
    }
} catch (ODataServiceException $e) {
    echo "Error:" . $e->getError() . "<br>" . "Detailed Error:" . $e->getDetailedError();
} catch (InvalidOperation $e) {
    echo $e->getError();
}
Пример #6
0
 *  provided that the following  conditions are met:
 *   - Redistributions of source code must retain the above copyright notice,
 *     this list of conditions and the following disclaimer.
 *   - Neither the name of Persistent Systems Limited nor the names of its contributors
 *     may be used to endorse or promote products derived from this software
 *     without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample4: Usage of Row Count</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    echo "<br/>Total number of Customers:" . $svc->Customers()->Count();
    echo "<br/>Total number of Customers with USA as Country:" . $svc->Customers()->filter("Country eq 'USA'")->Count();
} catch (DataServiceRequestException $ex) {
    echo 'Error: while running the query ' . $ex->Response->getQuery();
    echo "<br/>";
    echo $ex->Response->getError();
}
Пример #7
0
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 *
 * This is asample application to show how to use LoadProperty function to
 * retrive Orders entity set associated to each customer entity instance.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample10: Add a customer entity to Northwind DB with ID 'CHAN9' and CompanyName as 'Channel9', update the ComapnyName to 'channel8' and delete the customer</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $customer = Customers::CreateCustomers("CHAN9", "channel9");
    $svc->AddToCustomers($customer);
    $customer->CompanyName = "Channel8";
    $svc->UpdateObject($customer);
    $svc->DeleteObject($customer);
    $svc->SaveChanges();
    echo "User asked for adding Customer with CustomerID CHAN9 and CompanyName channe9, update CompanyName to channel8 then to delete the  customer (Since this will not affect the data service this queries wont be fired it will handled by context itself)";
} catch (ADODotNETDataServicesException $e) {
    echo "Error:" . $e->getError() . "<br>" . "Detailed Error:" . $e->getDetailedError();
}
Пример #8
0
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample2: List all cutomer's ID in NorthWind DB with USA as Country and associated Order's ID using expand option and Server Side paging</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $query = $svc->Customers()->filter("Country eq 'USA'")->Expand('Orders');
    $customerResponse = $query->Execute();
    $nextCustomerToken = null;
    do {
        if ($nextCustomerToken != null) {
            $customerResponse = $svc->Execute($nextCustomerToken);
        }
        foreach ($customerResponse->Result as $customer) {
            echo '<br/>CustomerID: ' . $customer->CustomerID . "<br/>";
            $nextOrderToken = null;
            $firstTime = true;
            $ordersResponse;
            echo "<br/>Associated Orders <br/>";
            echo "-----------------------<br/>";
            do {
Пример #9
0
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample1: List all cutomer's ID in NorthWind DB with USA as Country using Server Side Paging and print the number of coustmers using inline count</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $query = $svc->Customers()->filter("Country eq 'USA'")->IncludeTotalCount();
    $customersResponse = $query->Execute();
    echo "<br/>";
    echo "Number of Customers with Country as USA:" . $customersResponse->TotalCount() . "<br/>";
    echo "CustomerID" . "<br/>";
    echo "----------" . "<br/>";
    $nextCustomerToken = null;
    do {
        if ($nextCustomerToken != null) {
            $customersResponse = $svc->Execute($nextCustomerToken);
        }
        foreach ($customersResponse->Result as $customer) {
            echo $customer->CustomerID . "<br/>";
        }
    } while (($nextCustomerToken = $customersResponse->GetContinuation()) != null);
Пример #10
0
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
require_once 'NorthwindEntities.php';
echo "<h3>Sample13: Shows how to use projection through select query option</h3>";
try {
    $svc = new NorthwindEntities();
    $query = $svc->Customers()->filter("Country eq 'USA'")->Select('CustomerID,CompanyName');
    $customersResponse = $query->Execute();
    foreach ($customersResponse->Result as $customer) {
        echo "CustomerID:" . $customer->CustomerID . "<br/>";
        echo "Company Name:" . $customer->CompanyName . "<br/>";
        echo "Country:" . $customer->Country . "(This will be null as we selected only CustomerID and CompanyName)" . "<br/>";
        echo "----------" . "<br/>";
    }
} catch (DataServiceRequestException $ex) {
    echo 'Error: while running the query ' . $ex->Response->getQuery();
    echo "<br/>";
    echo $ex->Response->getError();
} catch (ODataServiceException $e) {
    echo "Error:" . $e->getError() . "<br>" . "Detailed Error:" . $e->getDetailedError();
}
Пример #11
0
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 *
 * This is a sample application to show how to delete an existing link between
 * Customers entity instance and Orders Entity Instance.
 */
require_once 'NorthwindEntities.php';
require_once 'urldef.php';
echo "<h3>Sample9: Delete the link added in Sample8 between a customer entity and Order entity</h3>";
try {
    $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
    $response = $svc->Customers()->filter("CustomerID eq 'CHAN9'")->Expand('Orders')->Execute();
    if (count($response->Result)) {
        foreach ($response->Result as $customer) {
            foreach ($customer->Orders as $order) {
                $svc->DeleteLink($customer, "Orders", $order);
                $svc->DeleteObject($order);
            }
            $svc->DeleteObject($customer);
            $svc->SaveChanges();
        }
        echo "All Order Links associated with customer with ID CHAN9 has been deleted, also the orders and customer has been deleted";
    } else {
        echo "Customer with CustomerID CHAN9 not found";
    }
} catch (DataServiceRequestException $ex) {