home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 9 / IOPROG_9.ISO / contrib / iis4 / iis4_07.cab / BookFlight.asp < prev    next >
Encoding:
Text File  |  1997-09-08  |  8.0 KB  |  291 lines

  1. <%@ LANGUAGE="VBSCRIPT" %>
  2. <% Option Explicit %>
  3. <% Response.Buffer = True %>
  4.  
  5. <!--#include file=libAuthenticate.asp-->
  6.  
  7. <%
  8.   Dim m_Member, m_lngMileage
  9.  
  10.   ' create a reference to the Member class of the ExAir dll component
  11.   Set m_Member = Server.CreateObject("ExAir.Member")
  12.  
  13.   ' retreive the mileage for the current user
  14.   m_lngMileage = m_Member.GetMileage(Application("DSN"), Session("AccountID"))
  15. %>
  16.  
  17. <!--BEGIN HTML-->
  18. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  19. <HTML>
  20. <HEAD>
  21. <!--META TAGS ARE RECOMMENDED FOR THE SEARCH ENGINE-->
  22. <META NAME="DESCRIPTION" CONTENT="Exploration Air's Book Flights page for members">
  23. <META NAME="KEYWORDS" CONTENT="book, flight, miles, mileage, bonus">
  24. <META NAME="GENERATOR" CONTENT="Microsoft Visual InterDev 1.0">
  25. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso8859-1">
  26. <!--END META TAGS-->
  27.  
  28. <TITLE>Book a Flight using Miles</TITLE>
  29. </HEAD>
  30.  
  31. <BODY BGCOLOR=#FFFFFF TOPMARGIN=0 LEFTMARGIN=0 ALINK=#23238E VLINK=#228B22 LINK=#23238E>
  32. <BASEFONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2>
  33.  
  34. <!--Change link color on mouseover
  35.     Only if running Internet Explorer 4.0 or later -->
  36. <!--#include virtual=IISSamples/ExAir/libHighlight.inc-->
  37.  
  38. <!--COLOR BANNER_START-->
  39. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  40.     <TR>
  41.       <TD BGCOLOR="#C71585" WIDTH=100% HEIGHT=20>
  42.       </TD>
  43.     </TR>
  44. </TABLE>
  45. <!--COLOR BANNER_END-->
  46.  
  47.  
  48. <!--BEGIN TABLE CONTAINING LOGO, TITLE, AND NAVIGATIONAL LINK-->
  49. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  50.     <TR>
  51.       <TD VALIGN=TOP WIDTH=415 HEIGHT=76>
  52.             <IMG SRC="images/freqflyer.jpg" WIDTH=420 HEIGHT=240 ALT="Exploration Air Frequent Flyer logo">
  53.             <BR>
  54.             <A HREF="../default.asp"><IMG SRC="../images/barrowy.gif" HEIGHT=8 WIDTH=8 HSPACE=5 ALT="Return to Exploration Air Home Page" BORDER=0></A> 
  55.             <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2> <STRONG><A HREF="../default.asp">EXPLORATION AIR HOME PAGE</A></STRONG></FONT>
  56.       </TD>
  57.       <TD VALIGN=MIDDLE WIDTH=200><FONT FACE="VERDANA, ARIAL, HELVETICA" COLOR="#0000FF" SIZE=5>Book a Flight using Miles</FONT>
  58.       </TD>
  59.     </TR>
  60.     <TR>
  61.       <TD VALIGN=TOP WIDTH=415 HEIGHT=15>
  62.             <A HREF="default.asp"><IMG SRC="../images/barrowy.gif" HEIGHT=8 WIDTH=8 HSPACE=5 ALT="Return to Frequent Flyer Home Page" BORDER=0></A> 
  63.             <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2> <STRONG><A HREF="default.asp">FREQUENT FLYER HOME PAGE</A></STRONG></FONT>
  64.       </TD>
  65.     </TR>
  66. </TABLE>
  67. <!--END TABLE CONTAINING LOGO, TITLE, AND NAVIGATIONAL LINK -->
  68.  
  69. <BR>
  70. <BR>
  71.  
  72. <% If Request.Form("FlyFrom") = "" Then %>
  73. <!-- BEGIN TABLE CONTAINING MAIN CONTENT-->
  74. <FORM ACTION="BookFlight.asp" METHOD="POST">
  75. <CENTER>
  76. <TABLE BORDER=1 BORDERCOLOR="#000000" CELLPADDING=0 CELLSPACING=0 HEIGHT=168 WIDTH=455>
  77.     <TR>
  78.         <TD WIDTH=555 VALIGN=TOP HEIGHT=16 COLSPAN=7 BGCOLOR="#000084">
  79.             <FONT SIZE="1" COLOR="#FFFFFF" FACE="MS Sans Serif, Arial, Helv">
  80.             <B> 
  81.             Exploration Air Flight Wizard
  82.             </B></FONT>
  83.         </TD>
  84.     </TR>
  85.  
  86.     <TR>
  87.         <TD WIDTH="450" COLSPAN="7"> 
  88.             <CENTER>
  89.             <TABLE BORDER=0>
  90.                 <TR>
  91.                     <FONT FACE="MS Sans Serif, Arial, Helv" SIZE="2">
  92.                     <STRONG>I wish to:</STRONG>
  93.                     </FONT>
  94.                 </TR>
  95.  
  96.                 <TR>
  97.                     <TD WIDTH=100>
  98.                         <FONT FACE="MS Sans Serif, Arial, Helv" SIZE="1">
  99.                         <STRONG>Fly from:</STRONG>
  100.                         </FONT>
  101.                     </TD>
  102.                     <TD>
  103.                         <SELECT NAME="FlyFrom">
  104.                             <% GetCities %>
  105.                         </SELECT>
  106.                     </TD>
  107.                 </TR>
  108.  
  109.                 <TR>
  110.                     <TD WIDTH=100>
  111.                         <FONT FACE="MS Sans Serif, Arial, Helv" SIZE="1">
  112.                         <STRONG>Fly to:</STRONG>
  113.                         </FONT>
  114.                     </TD>
  115.                     <TD>
  116.                         <SELECT NAME="FlyTo">
  117.                             <% GetCities %>
  118.                         </SELECT>
  119.                     </TD>
  120.                 </TR>
  121.  
  122.                 <TR>
  123.                     <TD WIDTH=100>
  124.                         <FONT FACE="MS Sans Serif, Arial, Helv" SIZE="1">
  125.                         <STRONG>Fly on this date:</STRONG>
  126.                         </FONT>
  127.                     </TD>
  128.                     <TD>
  129.                         <SELECT NAME="FlyDateMonth">
  130.                             <OPTION>January
  131.                             <OPTION>February
  132.                             <OPTION>March
  133.                             <OPTION>April
  134.                             <OPTION>May
  135.                             <OPTION>June
  136.                             <OPTION>July
  137.                             <OPTION>August
  138.                             <OPTION>September
  139.                             <OPTION>October
  140.                             <OPTION>November
  141.                             <OPTION>December
  142.                         </SELECT>
  143.                         <INPUT TYPE=TEXT NAME="FlyDateDay" SIZE=2>
  144.                     </TD>
  145.                 </TR>
  146.  
  147.                 <TR>
  148.                     <TD WIDTH=100>
  149.                         <FONT FACE="MS Sans Serif, Arial, Helv" SIZE="1">
  150.                         <STRONG>Fly this class:</STRONG>
  151.                         </FONT>
  152.                     </TD>
  153.                     <TD>
  154.                         <SELECT NAME="FlyClass">
  155.                             <OPTION>Coach
  156.                             <OPTION>Business
  157.                             <OPTION>First
  158.                         </SELECT>
  159.                     </TD>
  160.                 </TR>
  161.             </TABLE>
  162.             </CENTER>
  163.         </TD>
  164.     </TR>
  165.  
  166.     <TR>
  167.         <TD WIDTH="450" HEIGHT=40 ALIGN=RIGHT COLSPAN="2">
  168.             <FONT FACE="MS Sans Serif, Arial, Helv" SIZE="1">
  169.             <INPUT TYPE="SUBMIT" NAME="Finish" VALUE="Book Flight!">
  170.              
  171.             <br>
  172.             </FONT>
  173.         </TD>
  174.     </TR>
  175.  
  176.     <TR>
  177.         <TD WIDTH="555" VALIGN=TOP HEIGHT=16 COLSPAN=7 BGCOLOR="#000084">
  178.             <BR>
  179.         </TD>
  180.     </TR>
  181. </TABLE>
  182. </CENTER>
  183. <% 
  184.   Else
  185.     Dim fFormErr, strFormErr
  186.     fFormErr = False
  187.  
  188.     If Request.Form("FlyFrom")="" Or Request.Form("FlyTo")="" Or Request.Form("FlyClass")="" Or Request.Form("FlyDateDay")="" Or Request.Form("FlyDateMonth")="" Then
  189.         fFormErr = True
  190.         strFormErr = "You must enter all the form data"
  191.     End If
  192.  
  193.     If Request.Form("FlyFrom") = Request.Form("FlyTo") Then
  194.         fFormErr = True
  195.         strFormErr = "Origin and destination of flight must be different"
  196.     End If
  197.  
  198.     Dim iDate, strMonth
  199.     iDate = Request.Form("FlyDateDay")
  200.     strMonth = Request.Form("FlyDateMonth")
  201.  
  202.     If iDate="" Then iDate=0
  203.  
  204.     Select Case strMonth
  205.         Case "January", "March", "May", "Jul", "August", "October", "December"
  206.             If iDate > 31 Or iDate < 1 Then 
  207.                 fFormErr = True
  208.                 strFormErr = "You must enter an appropriate day (1-31) for the month of " & strMonth
  209.             End If
  210.  
  211.         Case "February"
  212.             ' HACK! Does not handle leap years yet
  213.             If iDate > 28 Or iDate < 1 Then 
  214.                 fFormErr = True
  215.                 strFormErr = "You must enter an appropriate day (1-28) for the month of " & strMonth
  216.             End If
  217.  
  218.         Case Default
  219.             If iDate > 30 Or iDate < 1 Then 
  220.                 fFormErr = True
  221.                 strFormErr = "You must enter an appropriate day (1-30) for the month of " & strMonth
  222.             End If
  223.     End Select 
  224.  
  225.     Dim Flights, FlightMiles
  226.     Set Flights = Server.CreateObject("Flight.Schedule")
  227.     FlightMiles = Flights.CostOfFlightInMiles("","","")
  228.  
  229.     If IsNull(m_lngMileage) Then m_lngMileage = 0
  230.  
  231.     If FlightMiles > m_lngMileage Then
  232.         fFormErr = True
  233.         strFormErr = "You have insufficient frequent flier miles to fly from " & Request.Form("FlyFrom") & " to " & Request.Form("FlyTo")
  234.     End If
  235.                              
  236.     If fFormErr Then
  237.         Response.Redirect "BookFlightError.asp?ErrorString=" & Server.URLEncode(strFormErr)
  238.     Else
  239.         Dim strQueryString
  240.         strQueryString = Server.URLEncode("From=" & Request.Form("FlyFrom")) & "&"
  241.         strQueryString = strQueryString & Server.URLEncode("&To=" & Request.Form("FlyFrom")) & "&"
  242.         strQueryString = strQueryString & Server.URLEncode("&AccountID=" & Session("AccountID")) & "&"    ' Hack!
  243.         strQueryString = strQueryString & Server.URLEncode("&MilesLeft=" & m_lngMileage - FlightMiles) & "&"
  244.         strQueryString = strQueryString & Server.URLEncode("&Class=" & Request.Form("FlyClass"))
  245.  
  246.         Response.Redirect "DoBookFlight.asp?" & strQueryString
  247.     End If
  248.  
  249.   End If
  250.  
  251. %> 
  252. <!-- END TABLE CONTAINING MAIN CONTENT-->
  253.  
  254. <P> 
  255. <HR=400>
  256. <P>
  257.  
  258. <CENTER>
  259. <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="1"><A HREF="../legal.htm">©1997 Microsoft Corporation. All rights reserved. Terms of Use.</A></FONT>
  260. </CENTER>
  261.  
  262. <P>
  263.  
  264. <!--BEGIN COLOR BANNER-->
  265. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  266.     <TR>
  267.       <TD BGCOLOR="#C71585" WIDTH=100% HEIGHT=20>
  268.       </TD>
  269.     </TR>
  270. </TABLE>
  271. <!--END COLOR BANNER-->
  272.  
  273. <% Response.Flush %>
  274.  
  275. </BODY>
  276. </HTML>
  277.  
  278. <% 
  279.     Sub GetCities
  280.         Dim strDest, Flights, DSN, Dest
  281.         DSN = Application("DSN")
  282.         Set Flights=Server.CreateObject("Flight.Schedule")
  283.         Set Dest = Flights.Destinations(DSN)
  284.         Do While Not Dest.EOF
  285.             strDest = Dest("CityName")
  286.             Response.Write("<OPTION> " & strDest)
  287.             Dest.MoveNext
  288.         Loop
  289.     End Sub
  290. %>
  291.