<%--
 
 * Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or
 * without modification, are permitted 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.
 * 
 * - Redistribution in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials
 *   provided with the distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of
 * contributors may be used to endorse or promote products derived
 * from this software without specific prior written permission.
 * 
 * This software is provided "AS IS," without a warranty of any
 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
 * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR
 * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR
 * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE
 * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
 * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF
 * THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 * 
 * You acknowledge that this software is not designed, licensed or
 * intended for use in the design, construction, operation or
 * maintenance of any nuclear facility.
  
--%>

<%@ taglib uri="/jstl-c" prefix="c" %>
<%@ taglib uri="/jstl-fmt" prefix="fmt" %>
<%@ taglib uri="/jstl-sql" prefix="sql" %>
<%@ page errorPage="errorpage.jsp" %>
	

<sql:setDataSource dataSource="jdbc/BookDB"/>
<c:set var="sufficientInventory" value="true" />
<sql:transaction>

  <c:forEach var="item" items="${sessionScope.cart.items}">
    <c:set var="book" value="${item.item}" />
    <c:set var="bookId" value="${book.bookId}" />

      <sql:query var="books" sql="select * from PUBLIC.books where id = ?" >
    		<sql:param value="${bookId}" />
  		</sql:query>
      
      <jsp:useBean id="inventory" class="database.BookInventory" />
   		<c:forEach var="bookRow" begin="0" items="${books.rowsByIndex}">
   			<jsp:useBean id="bookRow"  type="java.lang.Object[]" />
        <jsp:setProperty name="inventory" property="quantity" value="<%=(Integer)bookRow[7]%>" />
        
        <c:if test="${item.quantity > inventory.quantity}">
          <c:set var="sufficientInventory" value="false" />
          <h3><font color="red" size="+2"><fmt:message key="OrderError"/> There is insufficient inventory for <i><c:out value="${bookRow[3]}"/></i>.</font></h3>
        </c:if>
 			</c:forEach>
  </c:forEach>

  <c:if test="${sufficientInventory == 'true'}" >
    <c:forEach var="item" items="${sessionScope.cart.items}">
      <c:set var="book" value="${item.item}" />
      <c:set var="bookId" value="${book.bookId}" />

      <sql:query var="books" sql="select * from PUBLIC.books where id = ?" >
        <sql:param value="${bookId}" />
      </sql:query>

      <c:forEach var="bookRow" begin="0" items="${books.rows}">	          
        <sql:update var="books" sql="update PUBLIC.books set inventory = inventory - ? where id = ?" >
          <sql:param value="${item.quantity}" />
          <sql:param value="${bookId}" />
        </sql:update>		  
     	</c:forEach>
    </c:forEach>
  	<h3><fmt:message key="ThankYou"/> <c:out value="${param.cardname}" />.</h3><br>  
    <jsp:useBean id="now" class="java.util.Date" />
    <jsp:setProperty name="now" property="time" value="<%= now.getTime() + 432000000 %>" />
    <fmt:message key="ShipDate"/> <fmt:formatDate value="${now}" type="date" dateStyle="full"/>.<br><br>
  </c:if>

</sql:transaction>

<c:remove var="cart" scope="session" />

<strong><a href="<c:out value='${pageContext.request.contextPath}'/>/enter"><fmt:message key="ContinueShopping"/></a>&nbsp;&nbsp;&nbsp;</strong>  



