incubator-stonehenge-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From drew...@apache.org
Subject svn commit: r728078 [7/9] - in /incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution: ./ BasicClient/ BasicClient/Properties/ BusinessServiceConfigurationSettings/ BusinessServiceConfigurationSettings/Properties/ Busine...
Date Fri, 19 Dec 2008 17:43:32 GMT
Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,191 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Glossary.aspx.cs" Inherits="Trade.Web.Glossary" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+<meta http-equiv="Content-Style-Type" content="text/css"/>
+<title>.NET StockTrader Glossary</title>
+<link rel="stylesheet" href="StockTrader.css" type="text/css" />
+</head>
+<body class="StockTraderBodyStyle">
+<!--------------------------Begin Main Web Form Declaration--------------------------------->
+<div>
+<form runat="server" id="GlossaryForm" style="margin:0;">  
+<!-------------------------Begin Global Header Table Declaration---------------------------->
+<table class= "HeaderTableStyle">
+    <tr>
+		<td><img alt="" src="Images/dotnet_logo.jpg" height="63"/></td>
+        <td class="HeaderLeftStyle">.NET StockTrader
+            </td>
+        <td class="HeaderRightStyle">Apache Stonehenge Incubator Project</td>
+    </tr>
+</table>
+<table class="MenuTableStyle">
+    <tr>
+            <td class="Menu"><a href="Default.aspx">Welcome</a></td>
+            <td class="Menu"><a href="TradeHome.aspx">Home</a></td>
+            <td class="Menu"><a href="account.aspx">Account</a></td>
+            <td class="Menu"><a href="portfolio.aspx">Portfolio</a></td>
+            <td class="Menu"><a href="quotes.aspx?symbols=s:0,s:1,s:2,s:3,s:4">Quotes/Trade</a></td>
+            <td class="Menu"><a href="Glossary.aspx">Glossary</a></td>
+            <td class="Menu"><a href="logout.aspx">Login/Logout</a></td>
+            <td class="Menu"><a href="ReadMe.mht" target="_blank">Read Me</a></td>
+
+    </tr>
+</table>    
+<!--------------------------End Global Header Table Declaration ---------------------------->
+<table class="TradeHomeTableStyle">
+<tr>
+    <td colspan="2" class="OrderAlertControlStyle"></td>
+</tr>
+<tr>
+    <td colspan="2"> <br /></td>
+</tr>
+<tr>
+    <td colspan="2">
+    <table class="SubHeaderTableStyle">
+        <tr>
+            <th class="SubHeaderStyle">Glossary</th>
+            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
+        </tr>
+    </table>
+    </td>
+</tr>
+<tr>
+    <td colspan="2"><br /><br /></td>
+</tr>
+<tr>
+<td style="text-align:center">
+ <table class="TermsTableStyle">
+     <tr>
+     <th class="TradeConfigTHStyle">Term</th>
+     <th class="TradeConfigTHStyle">Description</th>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Account ID</td><td class="TradeTermsTDStyleRight">A unique Integer based key. Each user is assigned an account ID at account creation time.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Account Created</td><td class="TradeTermsTDStyleRight">The time and date the users account was first created.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Cash Balance</td><td class="TradeTermsTDStyleRight"> The current cash balance in the users account. This does not include current stock holdings.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Company</td><td class="TradeTermsTDStyleRight">The full company name for an individual stock.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Current Gain/Loss</td><td class="TradeTermsTDStyleRight">The total gain or loss of this account, computed by substracting the current sum of cash/holdings minus the opening account balance.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Current Price</td><td class="TradeTermsTDStyleRight">The current trading price for a given stock symbol.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Gain/Loss</td><td class="TradeTermsTDStyleRight">The current gain or loss of an individual stock holding, computed as (current market value - holding basis).</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Last Login</td><td class="TradeTermsTDStyleRight">The date and time this user last logged in to Trade.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Market Value</td><td class="TradeTermsTDStyleRight">The current total value of a stock holding, computed as (quantity * current price).</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Number of Holdings</td><td class="TradeTermsTDStyleRight">The total number of stocks currently owned by this account.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Open Price</td><td class="TradeTermsTDStyleRight">The price of a given stock at the open of the trading session.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Order Id</td><td class="TradeTermsTDStyleRight">A unique Integer based key. Each order is assigned an order ID at order creation time.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Opening Balance</td><td class="TradeTermsTDStyleRight">The initial cash balance in this account when it was opened.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Order Status</td><td class="TradeTermsTDStyleRight">orders are opened, processed, closed and completed. Order status shows the current stat for this order.</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Price Range</td><td class="TradeTermsTDStyleRight">The low and high prices for this stock during the current trading session</td>
+     </tr>
+     <tr>
+     <td class="TradeTermsTDStyleLeft"> Purchase Date</td><td class="TradeTermsTDStyleRight">The date and time the a stock was purchased.</td>
+     </tr>
+     <tr>
+    <td class="TradeTermsTDStyleLeft"> Purchase Price</td><td class="TradeTermsTDStyleRight">The price used when purchasing the stock.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Purchase Basis</td><td class="TradeTermsTDStyleRight">The total cost to purchase this holding. This is computed as (quantity * purchase price).</td>
+     </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Quantity</td><td class="TradeTermsTDStyleRight">The number of stock shares in the order or user holding.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Session Created</td><td class="TradeTermsTDStyleRight">An HTTP session is created for each user at during login. Session created shows the time and day when the session was created.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Sum of Cash/Holdings</td><td class="TradeTermsTDStyleRight">The total current value of this account. This is the sum of the cash balance along with the value of current stock holdings.</td>
+     </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Symbol</td><td class="TradeTermsTDStyleRight">The symbol for a Trade stock.</td>
+     </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Total Logins</td><td class="TradeTermsTDStyleRight">The total number of logins performed by this user.</td>
+     </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Total Logouts</td><td class="TradeTermsTDStyleRight">The total number of logouts performed by this user.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Total of Holdings</td><td class="TradeTermsTDStyleRight">The current total value of all stock holdings in this account given the current valuation of each stock held.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Top Gainers</td><td class="TradeTermsTDStyleRight">The list of stocks (matching LIKE CLAUSE 's:1__%' per WebSphere Trade 6.1 behavior) gaining the most in price during the current trading session.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Top Losers</td><td class="TradeTermsTDStyleRight">The list of stocks (matching LIKE CLAUSE 's:1__%' per WebSphere Trade 6.1 behavior)  falling the most in price during the current trading session.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Trade Stock Index (TSIA)</td><td class="TradeTermsTDStyleRight">A computed index of the top 20 stocks (matching LIKE CLAUSE 's:1__%' per WebSphere Trade 6.1 behavior) in Trade.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Trading Volume</td><td class="TradeTermsTDStyleRight">The total number of shares traded for stocks (matching LIKE CLAUSE 's:1__%' per WebSphere Trade 6.1 behavior) during this trading session.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Txn Fee</td><td class="TradeTermsTDStyleRight">The fee charged by the brokerage to process this order.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Type</td><td class="TradeTermsTDStyleRight">The order type (buy or sell).</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> User ID</td><td class="TradeTermsTDStyleRight">The unique user ID for the account chosen by the user at account registration.</td>
+    </tr>
+    <tr>
+    <td class="TradeTermsTDStyleLeft"> Volume</td><td class="TradeTermsTDStyleRight">The total number of shares traded for this stock.</td>
+    </tr>
+</table>
+<br />
+</td>
+</tr>
+</table>
+</form>
+</div>
+<!-------------------------------Start StockTrader Footer----------------------------------->
+<table class="FooterTableStyle">
+    <tr>
+            <td class="FooterLeftStyle">
+            Apache Stonehenge Incubator Project</td>
+            <td class="FooterRightStyle">
+            .NET StockTrader</td>
+    </tr>
+    <tr>
+            <td colspan="2" class="FooterCopyRightStyle"><br />
+            Created with Visual Studio and the Microsoft .NET Framework 3.5 
+            </td>
+    </tr>
+</table> 
+</table> 
+<table>
+<tr>
+    <td style="width:770px;height:500px">
+    </td>
+</tr>
+</table>
+</body>
+</html>
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Glossary.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,18 @@
+using System;
+using System.Web;
+using System.Web.UI;
+using Trade.StockTraderWebApplicationSettings;
+
+
+namespace Trade.Web
+{
+    public partial class Glossary : System.Web.UI.Page
+    {
+        protected void Page_Load(object sender, EventArgs e)
+        {
+            Date.Text = DateTime.Now.ToString("f");
+            //configlink.HRef = "http://" + HttpContext.Current.Server.MachineName + "/" + Settings.PAGE_PATH_CONFIG;
+           
+        }
+    }
+}
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/arrowdown.gif
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/arrowdown.gif?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/arrowdown.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/arrowup.gif
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/arrowup.gif?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/arrowup.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/button_bg.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/button_bg.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/button_bg.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/dotnet_logo.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/dotnet_logo.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/dotnet_logo.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/dotnetlogo.gif
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/dotnetlogo.gif?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/dotnetlogo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_left.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_left.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_left.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_main.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_main.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_main.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_right.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_right.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/footer_right.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/header_main.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/header_main.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/header_main.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/header_right.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/header_right.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/header_right.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/index.gif
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/index.gif?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/index.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/table_bg.jpg
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/table_bg.jpg?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/table_bg.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/trade.gif
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/trade.gif?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Images/trade.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,158 @@
+<%@Page Language="C#" AutoEventWireup="true" EnableViewState="false" EnableSessionState="True" EnableEventValidation="false" CodeFile="Login.aspx.cs" Inherits="Trade.Web.Login" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+<meta http-equiv="Content-Style-Type" content="text/css"/>
+<title>.NET StockTrader Login</title>
+<link rel="stylesheet" href="StockTrader.css" type="text/css" />
+</head>
+<body class="StockTraderBodyStyle">
+<!--------------------------Begin Main Web Form Declaration--------------------------------->
+<div>
+<form runat="server" id="LoginForm" style="margin:0;">  
+<!-------------------------Begin Global Header Table Declaration---------------------------->
+<table class= "HeaderTableStyle">
+    <tr>
+		<td><img alt="" src="Images/dotnet_logo.jpg" height="63"/></td>
+        <td class="HeaderLeftStyle">.NET StockTrader
+            </td>
+        <td class="HeaderRightStyle">Apache Stonehenge Incubator Project</td>
+    </tr>
+</table>
+<table class="MenuTableStyle">
+    <tr>
+            <td class="Menu"><a href="Default.aspx">Welcome</a></td>
+            <td class="Menu"><a href="TradeHome.aspx">Home</a></td>
+            <td class="Menu"><a href="account.aspx">Account</a></td>
+            <td class="Menu"><a href="portfolio.aspx">Portfolio</a></td>
+            <td class="Menu"><a href="quotes.aspx?symbols=s:0,s:1,s:2,s:3,s:4">Quotes/Trade</a></td>
+               <!-- <td class="Menu"><a href="" id="configlink" runat="server" >ConfigWeb</a></td> -->
+            <td class="Menu"><a href="Glossary.aspx">Glossary</a></td>
+            <td class="Menu"><a href="logout.aspx">Login/Logout</a></td>
+            <td class="Menu"><a href="ReadMe.mht" target="_blank">Read Me</a></td>
+
+
+    </tr>
+</table>    
+<!--------------------------End Global Header Table Declaration ---------------------------->
+<table class="TradeHomeTableStyle">
+<tr>
+    <td colspan="2" class="OrderAlertControlStyle"></td>
+</tr>
+<tr>
+    <td colspan="2"> <br /></td>
+</tr>
+<tr>
+    <td>
+    <table class="SubHeaderTableStyle">
+        <tr>
+            <th class="SubHeaderStyle">Login</th>
+            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
+        </tr>
+    </table>
+    </td>
+</tr>
+<tr>
+    <td><br /></td>
+</tr>
+<tr>
+    <td colspan="2" style="text-align:center">
+    <strong>Welcome to the .NET StockTrader Composite Web Application!
+    <br /><br /></strong>
+    <table class="LoginTableStyle" style="text-align:center; padding-left:30">
+        <tr style="vertical-align:bottom">
+            <td > <div class="InvalidLogin"></div>
+            </td>
+            <td ><div class="InvalidLogin"></div>
+            </td>
+            <td><div class="InvalidLogin"></div>
+            </td>
+            <td ><div class="InvalidLogin"></div>
+            </td>
+        </tr>
+        <tr>
+            <td>
+            </td>
+            <td style="vertical-align:middle">
+            <table>
+            <tr>
+            <td style="text-align:center; padding-bottom:80px">
+                <img alt="" src="Images/index.gif" /></td>
+                </tr>
+                </table>
+                </td>
+            <td >
+            </td>
+            <td>
+            <br />
+                <table style="width: 500px">
+                    <tr>
+                        <td colspan="2"><div class="InvalidLogin">
+                        <asp:Label runat="server" ID="InValid" CssClass="InvalidLogin"></asp:Label><br />
+                            <br />
+                            <br />
+                            <br />
+                        </div></td>
+                    </tr>
+                    <tr>
+                        <td style="text-align:right;">User Name:</td>
+                        <td style="text-align:left;padding-left:5px">
+                        <asp:TextBox ID="uid" runat="server" Width="120" BackColor="#EBEBEB" BorderColor="#d4d8db" MaxLength="50" CausesValidation="True"></asp:TextBox></td>
+                    </tr>
+                    <tr>
+                        <td style="text-align:right;">Password:</td>
+                        <td style="text-align:left;padding-left:5px">
+                        <asp:TextBox ID="password" runat="server"  Width="120" BackColor="#EBEBEB" BorderColor="#d4d8db" MaxLength="100" Text="xxx" TextMode="Password"></asp:TextBox></td>                
+                    </tr>
+                     <tr>
+                        <td></td>
+                        <td style="text-align:left;padding-left:23px"><br />
+                        <div class="LinkButtonRegisterStyle">
+                        <asp:LinkButton ID="LinkLogin"  CssClass="Button" runat="server" PostBackUrl="~/Login.aspx">Login</asp:LinkButton>
+                        </div>
+                            <br />
+                            <asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List"
+                                ValidationGroup="Login" />
+                            <br />
+                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorUserID" runat="server" ControlToValidate="uid"
+                                Display="None" ErrorMessage="Please enter a user name!" ValidationGroup="Login"></asp:RequiredFieldValidator><br />
+                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorPassword" runat="server" ControlToValidate="password"
+                                Display="None" ErrorMessage="Please enter a password!" ValidationGroup="Login"></asp:RequiredFieldValidator></td>
+                   </tr>
+                    <tr>
+                        <td colspan="2" style="font-size:7pt; text-align: center;">
+                        Try password 'xxx' for user 'uid:0' to access the .NET StockTrader Web Application.
+                        </td>
+                    </tr>
+                   
+                </table>
+                <br />
+                <br />
+          </td>    
+      </tr>
+   </table>
+   <br />
+   <b>First time user? &nbsp;<a href="register.aspx">Please Register!</a></b>
+   <br /><br /><br />
+   </td>
+</tr>
+</table> 
+</form>
+</div>
+<!-------------------------------Start StockTrader Footer------------------------------>
+<table class="FooterTableStyle">
+    <tr>
+            <td class="FooterLeftStyle">
+            Apache Stonehenge Incubator Project</td>
+            <td class="FooterRightStyle">
+            .NET StockTrader</td>
+    </tr>
+    <tr>
+            <td colspan="2" class="FooterCopyRightStyle"><br />
+            Created with Visual Studio and the Microsoft .NET Framework 3.5 
+            </td>
+    </tr>
+</table> 
+</table>         
+</body>
+</html>
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Login.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,79 @@
+// .NET Service Configuration V2.0 for Design Considerations for Service-Oriented Applications based on Windows Communication Foundation. Created with Microsoft .NET Framework 3.5 and Microsoft Visual Studio. Copyright 2008, Microsoft Corporation.
+
+using System;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Collections.Generic;
+using System.ServiceModel;
+using System.Threading;
+using Trade.StockTraderWebApplicationSettings;
+using Trade.StockTraderWebApplicationModelClasses;
+using Trade.StockTraderWebApplicationServiceClient;
+using Trade.Utility;
+
+namespace Trade.Web
+{
+    /// <summary>
+    /// Performs authenticated login and sets FormsAuth cookie if user is authenticated against registered users DB.
+    /// </summary>
+    public partial class Login : System.Web.UI.Page
+    {
+        protected override void OnLoad(EventArgs e)
+        {
+           Date.Text = DateTime.Now.ToString("f");
+           if (IsPostBack) processLogin();
+        }
+
+        protected void processLogin()
+        {
+            Page.Validate();
+            if (Page.IsValid)
+            {
+                //Authenticate the user against Trade AccountProfile Table for non-admin (normal users),
+                //or authenticate against the configuration system users table if administrator.
+                //Notes on security: 
+                //We are using ASP.NET Forms authentication, which automates the authentication process against
+                //either a simple list of valid users, backend database of registered users (StockTrader uses this mechanism),
+                //Windows Active Directory, or any pluggable mechanism based on the extensibility of Forms Authentication in ASP.NET 2.0.
+                //Via Forms Authentication, ASP.NET provides automatic authentication for restricted pages, and automates redirects to login forms 
+                //such as this one. ASP.NET Forms authentication defaults to use SHA1 for HMAC Generation and AES for
+                //Encryption, which is recommended. The key to securing .NET StockTrader is to use "Protection="All"
+                //for the forms authentication directive in web.config, and just as importantly, an application such as this in production
+                //would be run over SSL for all authenticated pages identified as restricted via ASP.NET Forms Authentication.
+                //An excellent security Patterns and Practices resource on how to secure Internet applications can be 
+                //found at:
+                //                http://msdn2.microsoft.com/en-us/library/aa302415.aspx
+                //
+                //Information on Forms Authentication, encryption and using Forms Authentication with SSL is available at:
+                //
+                //               http://msdn2.microsoft.com/en-us/library/ms998310.aspx
+
+                string userID = Input.InputText(Request["uid"], StockTraderUtility.USERID_MAX_LENGTH);
+                string password = Input.InputText(Request["password"], StockTraderUtility.PASSWORD_MAX_LENGTH);
+                AccountDataUI customer = null;
+                try
+                {
+                    BSLClient businessServicesClient = new BSLClient();
+                    customer = businessServicesClient.login(userID, password);
+                }
+                catch (Exception e)
+                {
+                    if (e.Message.Contains(StockTraderUtility.EXCEPTION_WEBSPHERE_USERID_NOTFOUND))
+                        customer = null;
+                    else
+                        throw;
+                }
+                if (customer == null)
+                {
+                    InValid.Text = StockTraderUtility.EXCEPTION_MESSAGE_INVALID_LOGIN;
+                }
+                else
+                {
+                    FormsAuthentication.SetAuthCookie(customer.profileID, false);
+                    Response.Redirect(Settings.PAGE_HOME,true);
+                }
+            }
+        }
+    }
+}

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,14 @@
+<%@ Page Language="C#" AutoEventWireup="false" EnableSessionState="True" EnableViewState="false" EnableEventValidation="false" CodeFile="Logout.aspx.cs" Inherits="Trade.Web.Logout" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head runat="server">
+    <title>.NET StockTrader Logout</title>
+</head>
+<body>
+    <div>
+    <form id="LogoutForm" runat="server">
+    Thank you for using the .NET Stock Trader!
+    </form>
+    </div>
+</body>
+</html>

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Logout.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,34 @@
+//  .NET StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
+
+using System;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using Trade.StockTraderWebApplicationSettings;
+using Trade.StockTraderWebApplicationServiceClient;
+
+namespace Trade.Web
+{
+    /// <summary>
+    /// Performs logout.
+    /// </summary>
+    public partial class Logout : System.Web.UI.Page
+    {
+        protected override void OnLoad(EventArgs e)
+        {
+             HttpCookie authcookie = Request.Cookies[FormsAuthentication.FormsCookieName];
+             FormsAuthenticationTicket ticket = (FormsAuthenticationTicket)FormsAuthentication.Decrypt(authcookie.Value);
+             if (User.Identity.IsAuthenticated)
+             {
+                 string userid = User.Identity.Name;
+                 BSLClient businessServicesClient = new BSLClient();
+                 businessServicesClient.logout(userid);
+                 Response.Cookies.Remove(FormsAuthentication.FormsCookieName);
+                 FormsAuthentication.SignOut();
+             }
+             Response.Redirect(Settings.PAGE_LOGIN, true);         
+        }
+    }
+}
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,127 @@
+<%@ Register TagPrefix="controls" TagName="Header" Src = "Controls/Header.ascx"  %>
+<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" EnableEventValidation="false" CodeFile="Order.aspx.cs" Inherits="Trade.Web.Order" %>
+<%@ Import Namespace="Trade.StockTraderWebApplicationModelClasses" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+<meta http-equiv="Content-Style-Type" content="text/css"/>
+<title>.NET StockTrader New Order</title>
+<link rel="stylesheet" href="StockTrader.css" type="text/css" />
+</head>
+<body class="StockTraderBodyStyle">
+<!--------------------------Begin Main Web Form Declaration--------------------------------->
+<div>
+<form runat="server" id="OrderForm" style="margin:0;">  
+<!-------------------------Begin Global Header --------------------------------------------->
+<controls:Header id="HeaderControl" runat="server" ></controls:Header>
+<!--------------------------End Global Header Table Declaration ---------------------------->
+<table class="TradeHomeTableStyle">
+<tr>
+    <td colspan="2"> <br /></td>
+</tr>
+<tr>
+    <td>
+    <table class="SubHeaderTableStyle">
+        <tr>
+            <th class="SubHeaderStyle">New Order</th>
+            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
+        </tr>
+    </table>
+</td>
+</tr>
+</table>
+<!------------------------------Start Core ASPX Page-Specific UI --------------------------->
+    <table class="TradeHomeTableStyle">
+        <tr>
+            <td><br /></td>
+        </tr>
+        <tr>
+            <td style="text-align:center">
+            <table class="OrderConfirmTableStyle">
+            <tr >
+                <td colspan="8" class="OrderConfirmMessageStyle"><asp:Label ID="ConfirmMessage" runat="server"></asp:Label></td>
+            </tr>
+<%if (!badQuantity){%>
+            <tr>
+                <th class="InnerHeading">
+                Order ID</th>
+                <th class="InnerHeading">
+                Order Status</th>
+                <th class="InnerHeading">
+                Creation Date</th>
+                <th class="InnerHeading">
+                Completion Date</th>
+               <th class="InnerHeading">
+                Txn Fee</th>
+               <th class="InnerHeading">
+                Type</th>
+                <th class="InnerHeading">
+                Symbol</th>
+                <th class="InnerHeading">
+                Quantity</th>
+            </tr>       
+            <tr>
+                <td class="InnerData">
+                <asp:Label ID="OrderID" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="OrderStatus" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="OpenDate" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="CompletionDate" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="OrderFee" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="OrderType" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="Symbol" runat="server"></asp:Label></td>
+                <td class="InnerData">
+                <asp:Label ID="Quantity" runat="server"></asp:Label></td>
+           </tr>      
+<%} %>
+<tr><td><br /><br /><br /></td></tr>
+       </table>
+    </td>
+</tr>
+<!-------------------------------Start Get Quote Input Form/Footer-------------------------->
+<tr>
+<td>
+<table class="GetQuotesTableStyle">
+<tr>
+<td colspan="3"> <hr style="vertical-align:bottom"/></td>
+</tr>
+ <tr><td style="text-align:center;" >
+ <table style="width:600">
+    <tr>
+        <td style="width:100px;height:30px;text-align:right">
+            <asp:TextBox ID="symbols" BackColor="#EBEBEB"    runat="server" Text="s:0;s:1;s:2;s:3"></asp:TextBox>
+        </td>
+        <td style="padding-left:6px;padding-bottom:4px;"><div class="LinkButtonQuoteStyle">
+            <asp:LinkButton ID="LinkButtonQuote" runat="server" CssClass="Button" PostBackUrl="~/Quotes.aspx">Get Quote</asp:LinkButton></div>
+        </td>
+    </tr>
+  </table>          
+</td></tr>
+</table>
+</td>
+</tr>
+</table>
+</form>
+</div>
+<!-------------------------------Start StockTrader Footer----------------------------------->
+<table class="FooterTableStyle">
+    <tr>
+            <td class="FooterLeftStyle">
+            Apache Stonehenge Incubator Project</td>
+            <td class="FooterRightStyle">
+            .NET StockTrader</td>
+    </tr>
+    <tr>
+            <td colspan="2" class="FooterCopyRightStyle"><br />
+            Created with Visual Studio and the Microsoft .NET Framework 3.5 
+            </td>
+    </tr>
+</table> 
+</table>         
+</body>
+</html>
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Order.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,115 @@
+//  .NET StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
+using System;
+using System.Globalization;
+using System.Web;
+using System.Text;
+using Trade.StockTraderWebApplicationModelClasses;
+using Trade.StockTraderWebApplicationSettings;
+using Trade.StockTraderWebApplicationServiceClient;
+using Trade.Utility;
+
+namespace Trade.Web
+{
+    /// <summary>
+    /// Calls into Business Services to place an order (buy/sell).  Note that this page is called from the
+    /// StockTrade.aspx page after user enters number of shares.  This is slightly different than Trade 6.1 flow,
+    /// but necessary since we allow selling portions of a holding vs. just entire holding ala Trade 6.1.  However,
+    /// for benchmarking this page can be called directly without visiting StockTrade.aspx when comparing perf to Trade 6.1,
+    /// for equivalence.
+    /// </summary>
+    public partial class Order : System.Web.UI.Page
+    {
+        public bool badQuantity = false;
+
+        protected void Page_Load(object sender, EventArgs e)
+        {
+            Date.Text = DateTime.Now.ToString("f");
+            BSLClient businessServicesClient = new BSLClient();
+            OrderDataUI order = null;
+            string userid = HttpContext.Current.User.Identity.Name;
+            string action = Input.InputText(Request["action"], 10);
+            double quantity = 0;
+            string symbol = null;
+            int holdingID = -1;
+            if (action.Equals(StockTraderUtility.ORDER_TYPE_BUY))
+            {
+                if (!Double.TryParse(Request["quantity"], out quantity))
+                  badQuantity = true;
+              symbol = Input.InputText(Request["symbol"], StockTraderUtility.SYMBOLSTRING_MAXLENGTH);
+               if (quantity > 0)
+                         order = businessServicesClient.buy(userid, symbol, quantity);
+                    else
+                        badQuantity = true;
+               
+           }
+           else if (action.Equals(StockTraderUtility.ORDER_TYPE_SELL))
+           {
+              bool hasQuantityParam=false;
+              holdingID = Convert.ToInt32(Request["holdingid"]);
+
+              //WebSphere Trade 6.1 does not provide functionality for trading partial holdings.  
+              //.NET StockTrader does, but will default to Trade 6.1 behavior and sell and entire holding if no
+              //quantity parameter is detected on the query string.  Here we check if a quantity parameter actually
+              //exists on the query string.  This is a bit of extra overhead, but done so we can add functionality
+              // (selling part of a holding) yet not sacrifice interop with WebSphere Trade 6.1
+              int i = Request.Params.Count;
+              for (int index = 0; index < i; index++)
+              {
+                  string param = Request.Params.GetKey(index);
+                  if (param.Contains("quantity"))
+                  {
+                      hasQuantityParam = true;
+                      break;
+                  }
+              }
+              if (hasQuantityParam)
+                {
+                  quantity = Convert.ToDouble(Request["quantity"]);
+                  if (quantity <= 0)
+                    badQuantity = true;
+                }
+                else
+                    quantity = 0;  //Value of 0 indicates to sell entire holding.
+                if (!badQuantity)
+                     order = businessServicesClient.sell(userid, holdingID, quantity);
+            }
+            else
+                //Goodbye! Only valid ops are buy and sell. This is a harsh 
+                //penalty for trying to be tricky.
+                Response.Redirect(Settings.PAGE_LOGOUT);
+            if (!badQuantity)
+            {
+                if (order != null)
+                {
+                    Cache.Remove(Settings.CACHE_KEY_CLOSED_ORDERSALERT + userid);
+                    string orderIdStr = order.orderID.ToString();
+                    OrderID.Text = orderIdStr;
+                    OrderStatus.Text = order.orderStatus;
+                    OpenDate.Text = order.openDate.ToString();
+                    CompletionDate.Text = order.completionDate.ToString();
+                    OrderFee.Text = string.Format("{0:C}", order.orderFee);
+                    OrderType.Text = order.orderType;
+                    string orderLink = order.quoteLink;
+                    Symbol.Text = orderLink;
+                    string orderQty = string.Format("{0:0,0}", order.quantity);
+                    Quantity.Text = orderQty;
+                    StringBuilder strBuilder = new StringBuilder("Order <b>");
+                    strBuilder.Append(orderIdStr);
+                    strBuilder.Append("</b> to ");
+                    strBuilder.Append(order.orderType);
+                    strBuilder.Append(" ");
+                    strBuilder.Append(orderQty);
+                    strBuilder.Append(" shares of ");
+                    strBuilder.Append(orderLink);
+                    strBuilder.Append(" has been submitted for processing.<br/><br/>");
+                    strBuilder.Append("Order Details:");
+                    ConfirmMessage.Text = (strBuilder.ToString());
+                }
+                else
+                    ConfirmMessage.Text = StockTraderUtility.EXCEPTION_MESSAGE_BAD_ORDER_RETURN;
+            }
+            else ConfirmMessage.Text = StockTraderUtility.EXCEPTION_MESSAGE_BAD_ORDER_PARMS;
+            return;
+        }
+    }
+}
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,158 @@
+<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
+<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" EnableEventValidation="false" CodeFile="Portfolio.aspx.cs" Inherits="Trade.Web.Portfolio" %>
+<%@ Import Namespace="System.Text"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+<meta http-equiv="Content-Style-Type" content="text/css"/>
+<title>.NET StockTrader Portfolio</title>
+<link rel="stylesheet" href="StockTrader.css" type="text/css" />
+</head>
+<body class="StockTraderBodyStyle">
+<!--------------------------Begin Main Web Form Declaration--------------------------------->
+<div>
+<form runat="server" id="AccountForm" style="margin:0;">  
+<!-------------------------Begin Global Header + Order Alert Control------------------------>
+<controls:ClosedOrders id="ClosedOrdersControl" runat="server" ></controls:ClosedOrders>
+<!--------------------------End Global Header Table Declaration ---------------------------->
+<!-------------------- -----Start Portfolio Page-Specific Processing------------------------>
+<table class="TradeHomeTableStyle" style="padding-left:4px;padding-right:4px">
+    <tr>
+    <td colspan="2"> <br /></td>
+</tr>
+    <tr>
+        <td>
+        <table class="SubHeaderTableStyle">
+        <tr>
+            <th class="SubHeaderStyle">Portfolio Information</th>
+            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
+        </tr>
+    </table>
+        </td>
+    </tr>
+    <tr>
+    <td> 
+    <br />
+    <br />
+        <table style="width:720px">
+            <tr>
+                <td style="text-align:left;width:360px;">Current Number of Holdings:&nbsp<b><asp:Label ID="numOfHoldings" runat="server"
+                Text="numOfHoldings"></asp:Label></b></td>
+                <td style="text-align:right;width:360px;font-weight:bold"><a href="PortfolioBySymbol.aspx">Sort and Subtotal By Stock</a>
+                </td>
+            </tr>
+        </table>
+    </td>
+    </tr>
+    <tr>
+        <td colspan="2" style="text-align:center">
+        <asp:Repeater id="PortfolioRepeater" runat="server">
+        <HeaderTemplate>
+            <table class="PortfolioTableStyle">
+             <tr>
+                <th class="InnerHeading">
+                Holding ID</th>
+                <th class="InnerHeading">
+                Purchase<br />Date</th>
+                <th class="InnerHeading">
+                Symbol</th>
+                <th class="InnerHeading">
+                Quantity</th>
+                <th class="InnerHeading">
+                Purchase<br />Price</th>
+                <th class="InnerHeading">
+                Current<br />Price</th>
+                <th class="InnerHeading">
+                Purchase<br />Basis</th>
+                <th class="InnerHeading">
+                Market<br />Value</th>
+                <th class="InnerHeading">
+                Gain(Loss)</th>
+                <th class="InnerHeading">
+                Trade</th>
+             </tr>       
+       </HeaderTemplate>
+       <ItemTemplate>
+          <tr>
+          <td class="InnerData">
+                <%# Eval("holdingID")%> </td>
+                <td class="InnerData">
+                <%# Eval("purchaseDate") %></td>
+                <td class="InnerData">
+                <%# Eval("quoteID") %></td>
+                 <td class="InnerData" style="text-align:right">
+                <%# Eval("quantity", "{0:0,0}") %></td>
+                 <td class="InnerData" style="text-align:right">
+                <%# Eval("purchasePrice", "{0:C}")%></td>
+                 <td class="InnerData" style="text-align:right">
+                <%# Eval("quotePrice", "{0:C}")%></td>
+                 <td class="InnerData" style="text-align:right">
+                <%# Eval("basis", "{0:C}")%></td>
+                 <td class="InnerData" style="text-align:right">
+                <%# Eval("marketValue","{0:C}")%>
+                </td>
+                 <td class="InnerData" style="text-align:right">
+                <%# Eval("gainWithArrow") %>
+                </td>
+                <td class="InnerData">
+                <%# Eval("sellLink") %>
+                </td>
+        </tr>      
+      </ItemTemplate>
+      <FooterTemplate>
+        <tr>
+                <th class="InnerHeading" style="text-align:right" colspan="6">Totals</th>
+                <th class="InnerHeading" style="text-align:right"><%=String.Format("{0:C}",totalHoldings.basis) %></th>
+                <th class="InnerHeading" style="text-align:right"><%=String.Format("{0:C}",totalHoldings.marketValue)%></th>
+                <th class="InnerHeading" style="text-align:right; padding-right:3px;"><%=String.Format("{0:C}",totalHoldings.gainWithArrow)%></th>
+                <th class="InnerHeading"></th>
+        </tr>
+        </table>
+      </FooterTemplate>
+      </asp:Repeater></td>
+   </tr>
+   <tr>
+      <td><br /></td>
+   </tr>
+<!-------------------------------Start Get Quote Input Form/Footer-------------------------->
+<tr>
+<td>
+<table class="GetQuotesTableStyle">
+<tr>
+<td colspan="3"> <hr style="vertical-align:bottom"/></td>
+</tr>
+ <tr><td style="text-align:center;" >
+ <table style="width:600">
+    <tr>
+        <td style="width:100px;height:30px;text-align:right">
+            <asp:TextBox ID="symbols" BackColor="#EBEBEB"    runat="server" Text="s:0;s:1;s:2;s:3"></asp:TextBox>
+        </td>
+        <td style="padding-left:6px;padding-bottom:4px;"><div class="LinkButtonQuoteStyle">
+            <asp:LinkButton ID="LinkButtonQuote" runat="server" CssClass="Button" PostBackUrl="~/Quotes.aspx">Get Quote</asp:LinkButton></div>
+        </td>
+    </tr>
+  </table>          
+</td></tr>
+</table>
+</td>
+</tr>
+</table>
+</form>
+</div>
+<!-------------------------------Start StockTrader Footer----------------------------------->
+<table class="FooterTableStyle">
+    <tr>
+            <td class="FooterLeftStyle">
+            Apache Stonehenge Incubator Project</td>
+            <td class="FooterRightStyle">
+            .NET StockTrader</td>
+    </tr>
+    <tr>
+            <td colspan="2" class="FooterCopyRightStyle"><br />
+            Created with Visual Studio and the Microsoft .NET Framework 3.5 
+            </td>
+    </tr>
+</table> 
+</table>         
+</body>
+</html>
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Portfolio.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,38 @@
+//  .NET StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
+using System;
+using System.Data;
+using System.Configuration;
+using System.Collections;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.HtmlControls;
+using Trade.StockTraderWebApplicationSettings;
+using Trade.StockTraderWebApplicationModelClasses;
+using Trade.StockTraderWebApplicationServiceClient;
+
+namespace Trade.Web
+{
+    /// <summary>
+    /// Displays Portfolio info for a user. 
+    /// </summary>
+    public partial class Portfolio : System.Web.UI.Page
+    {
+        public TotalHoldingsUI totalHoldings;
+
+        protected void Page_Load(object sender, EventArgs e)
+        {
+            Date.Text = DateTime.Now.ToString("f");
+            BSLClient businessServicesClient = new BSLClient();
+            string userid = HttpContext.Current.User.Identity.Name;
+            totalHoldings = businessServicesClient.getHoldings(userid);
+            List<HoldingDataUI> holdingList = totalHoldings.holdings;
+            numOfHoldings.Text = totalHoldings.holdings.Count.ToString();
+            PortfolioRepeater.DataSource = holdingList;
+            PortfolioRepeater.DataBind();
+        }
+    }
+}

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,144 @@
+<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
+<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" EnableEventValidation="false" CodeFile="PortfolioBySymbol.aspx.cs" Inherits="Trade.Web.PortfolioBySymbol" %>
+<%@ Import Namespace="System.Text"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+<meta http-equiv="Content-Style-Type" content="text/css"/>
+<title>Portfolio Holdings By Stock</title>
+<link rel="stylesheet" href="StockTrader.css" type="text/css" />
+</head>
+<body class="StockTraderBodyStyle">
+<!--------------------------Begin Main Web Form Declaration--------------------------------->
+<div>
+<form runat="server" id="AccountForm" style="margin:0;">  
+<!-------------------------Begin Global Header + Order Alert Control------------------------>
+<controls:ClosedOrders id="ClosedOrdersControl" runat="server" ></controls:ClosedOrders>
+<!--------------------------End Global Header Table Declaration ---------------------------->
+<!-------------------- -----Start Portfolio Page-Specific Processing------------------------>
+<table class="TradeHomeTableStyle" style="padding-left:4px;padding-right:4px">
+    <tr>
+    <td colspan="2"> <br /></td>
+</tr>
+    <tr>
+        <td>
+        <table class="SubHeaderTableStyle">
+        <tr>
+            <th class="SubHeaderStyle">Portfolio By Symbol</th>
+            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
+        </tr>
+    </table>
+        </td>
+    </tr>
+    <tr>
+    <td>
+    <br />
+    <br />
+    <table style="width:720px">
+            <tr>
+                <td style="text-align:left;width:360px;">Current Number of Unique Stocks Held:&nbsp<b><asp:Label ID="numOfUniqueStocks" runat="server"
+             Text="numOfHoldings"></asp:Label></b></td> <td style="text-align:right;width:360px;font-weight:bold;"><a href="Portfolio.aspx">Sort By Purchase Date</a></td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td style="text-align:center">
+        <asp:Repeater id="PortfolioBySymbolRepeater" runat="server">
+        <HeaderTemplate>
+            <table class="PortfolioTableStyle">
+            
+             <tr>
+                <th class="InnerHeading">
+                Holding ID</th>
+                <th class="InnerHeading">
+                Purchase<br />Date</th>
+                <th class="InnerHeading">
+                Symbol</th>
+                <th class="InnerHeading">
+                Quantity</th>
+                <th class="InnerHeading">
+                Purchase<br />Price</th>
+                <th class="InnerHeading">
+                Current<br />Price</th>
+                <th class="InnerHeading">
+                Purchase<br />Basis</th>
+                <th class="InnerHeading">
+                Market<br />Value</th>
+                <th class="InnerHeading">
+                Gain(Loss)</th>
+                <th class="InnerHeading">
+                Trade</th>
+             </tr>       
+       </HeaderTemplate>
+       <ItemTemplate>
+          <tr>
+                <%# Eval("holdingID")%> 
+                <%# Eval("purchaseDate") %>
+                <%# Eval("quoteID")%>
+                <%# Eval("quantity", "{0:0,0}") %>
+                <%# Eval("purchasePrice", "{0:C}")%>
+                <%# Eval("quotePrice", "{0:C}")%>
+                <%# Eval("basis", "{0:C}")%>
+                <%# Eval("marketValue","{0:C}")%>
+                <%# Eval("gainWithArrow") %>
+                <%# Eval("sellLink") %>
+        </tr>      
+      </ItemTemplate>
+      <FooterTemplate>
+        <tr>
+                <th class="InnerHeading" style="text-align:right" colspan="6">Totals</th>
+                <th class="InnerHeading" style="text-align:right"><%=String.Format("{0:C}",totalHoldings.basis) %></th>
+                <th class="InnerHeading" style="text-align:right"><%=String.Format("{0:C}",totalHoldings.marketValue)%></th>
+                <th class="InnerHeading" style="text-align:right; padding-right:3px;"><%=String.Format("{0:C}",totalHoldings.gainWithArrow)%></th>
+                <th class="InnerHeading"></th>
+        </tr>
+        </table>
+      </FooterTemplate>
+      </asp:Repeater></td>
+   </tr>
+   <tr>
+      <td><br /></td>
+   </tr>
+<!-------------------------------Start Get Quote Input Form/Footer-------------------------->
+<tr>
+<td>
+<table class="GetQuotesTableStyle">
+<tr>
+<td colspan="3"> <hr style="vertical-align:bottom"/></td>
+</tr>
+ <tr><td style="text-align:center;" >
+ <table style="width:600">
+    <tr>
+        <td style="width:100px;height:30px;text-align:right">
+            <asp:TextBox ID="symbols" BackColor="#EBEBEB"    runat="server" Text="s:0;s:1;s:2;s:3"></asp:TextBox>
+        </td>
+        <td style="padding-left:6px;padding-bottom:4px;"><div class="LinkButtonQuoteStyle">
+            <asp:LinkButton ID="LinkButtonQuote" runat="server" CssClass="Button" PostBackUrl="~/Quotes.aspx">Get Quote</asp:LinkButton></div>
+        </td>
+    </tr>
+  </table>          
+</td></tr>
+</table>
+</td>
+</tr>
+</table>
+</form>
+</div>
+<!-------------------------------Start StockTrader Footer----------------------------------->
+<table class="FooterTableStyle">
+    <tr>
+            <td class="FooterLeftStyle">
+            Apache Stonehenge Incubator Project</td>
+            <td class="FooterRightStyle">
+            .NET StockTrader</td>
+    </tr>
+    <tr>
+            <td colspan="2" class="FooterCopyRightStyle"><br />
+            Created with Visual Studio and the Microsoft .NET Framework 3.5 
+            </td>
+    </tr>
+</table> 
+</table>         
+</body>
+</html>
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/PortfolioBySymbol.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,34 @@
+//  .NET StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
+using System;
+using System.Data;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.UI;
+using Trade.StockTraderWebApplicationSettings;
+using Trade.StockTraderWebApplicationModelClasses;
+using Trade.StockTraderWebApplicationServiceClient;
+
+namespace Trade.Web
+{
+    /// <summary>
+    /// Displays Portfolio info for a user, sorted and subtotaled by stock symbol.  This is extra functionality
+    /// not implemented by IBM in Trade 6.1.  Note the WPF StockTrader.exe smart client app allows this as well,
+    /// although a bit hidden:  in the smart client/Windows app, click the sort field for a stock symbol on the Portfolio tab.
+    /// </summary>
+    public partial class PortfolioBySymbol : System.Web.UI.Page
+    {
+        public TotalHoldingsUI totalHoldings;
+
+        protected void Page_Load(object sender, EventArgs e)
+        {
+            Date.Text = DateTime.Now.ToString("f");
+            BSLClient businessServicesClient = new BSLClient();
+            string userid = HttpContext.Current.User.Identity.Name;
+            totalHoldings = businessServicesClient.getHoldingsBySymbolSubTotaled(userid);
+           // List<HoldingDataUI> holdingList = totalHoldings.holdings;
+            numOfUniqueStocks.Text = totalHoldings.uniqueStockCount.ToString();
+            PortfolioBySymbolRepeater.DataSource = totalHoldings.holdings;
+            PortfolioBySymbolRepeater.DataBind();
+        }
+    }
+}

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx Fri Dec 19 09:43:28 2008
@@ -0,0 +1,132 @@
+<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
+<%@ Page Language="C#" AutoEventWireup="false" EnableViewState="false" EnableEventValidation="false" CodeFile="Quotes.aspx.cs" Inherits="Trade.Web.Quotes" %>
+<%@ Import Namespace="Trade.StockTraderWebApplicationModelClasses" %>
+<%@ Import Namespace="Trade.StockTraderWebApplicationSettings" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+<meta http-equiv="Content-Style-Type" content="text/css"/>
+<title>.NET StockTrader Quotes</title>
+<link rel="stylesheet" href="StockTrader.css" type="text/css" />
+</head>
+<body class="StockTraderBodyStyle">
+<!--------------------------Begin Main Web Form Declaration--------------------------------->
+<div>
+<form runat="server" id="AccountForm" style="margin:0;">  
+<!-------------------------Begin Global Header + Order Alert Control------------------------>
+<controls:ClosedOrders id="ClosedOrdersControl" runat="server" ></controls:ClosedOrders>
+<!--------------------------End Global Header Table Declaration ---------------------------->
+<!-------------------- -----Start Portfolio Page-Specific Processing------------------------>
+<table class="TradeHomeTableStyle" style="padding-left:4px;padding-right:4px">
+    <tr>
+    <td colspan="2"> <br /></td>
+</tr>
+    <tr>
+        <td>
+        <table class="SubHeaderTableStyle">
+        <tr>
+            <th class="SubHeaderStyle">Stock Quotes</th>
+            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
+        </tr>
+    </table>
+        </td>
+    </tr>
+    <tr>
+        <td style="text-align:center">
+        <br />
+        <br />
+        <table class="QuotesTableStyle">
+             <tr>
+                <th class="InnerHeading">
+                Symbol</th>
+                <th class="InnerHeading">
+                Company</th>
+                <th class="InnerHeading">
+                Volume</th>
+                <th class="InnerHeading">
+                Price Range</th>
+                <th class="InnerHeading">
+                Open Price</th>
+                <th class="InnerHeading">
+                Current Price</th>
+                <th class="InnerHeading">
+                Gain(Loss)</th>
+                <th class="InnerHeading">
+                Trade</th>
+           </tr>       
+       
+       <% if (quoteList !=null)
+          {
+              for (int i = 0; i < quoteList.Count; i++)
+              {
+       %>
+          <tr>
+                <td class="InnerData">
+                <%=quoteList[i].quoteLink%></td>
+                <td class="InnerData">
+                <%=quoteList[i].companyName%> </td>
+                <td class="InnerData" style="text-align:right">
+                <%=quoteList[i].volume.ToString("N")%></td>
+                <td class="InnerData" style="text-align:right">
+                <%=quoteList[i].low.ToString("C")%> -  <%=quoteList[i].high.ToString("C")%> </td>
+                <td class="InnerData" style="text-align:right">
+                <%=quoteList[i].open.ToString("C")%></td>
+                <td class="InnerData" style="text-align:right">
+                <%=quoteList[i].price.ToString("C")%></td>
+                <td class="InnerData" style="text-align:right">
+                <%=quoteList[i].gainWithArrow%></td>
+                <td class="InnerData">
+                <a href="StockTrade.aspx?action=buy&symbol=<%=quoteList[i].symbol%>">Buy</a>
+                </td>
+		 </tr>
+		 <%}
+ }%>
+
+<tr>
+  <td><br/><br/><br /></td>
+</tr>
+</table>
+</td>
+</tr>
+<!-------------------------------Start Get Quote Input Form/Footer-------------------------->
+<tr>
+<td>
+<table class="GetQuotesTableStyle">
+<tr>
+<td colspan="3"> <hr style="vertical-align:bottom"/></td>
+</tr>
+ <tr><td style="text-align:center;" >
+ <table style="width:600">
+    <tr>
+        <td style="width:100px;height:30px;text-align:right">
+            <asp:TextBox ID="symbols" BackColor="#EBEBEB"    runat="server" Text="s:0;s:1;s:2;s:3"></asp:TextBox>
+        </td>
+        <td style="padding-left:6px;padding-bottom:4px;"><div class="LinkButtonQuoteStyle">
+            <asp:LinkButton ID="LinkButtonQuote" runat="server" CssClass="Button" PostBackUrl="~/Quotes.aspx">Get Quote</asp:LinkButton></div>
+        </td>
+    </tr>
+  </table>          
+</td></tr>
+</table>
+</td>
+</tr>
+</table>
+</form>
+</div>
+<!-------------------------------Start StockTrader Footer----------------------------------->
+<table class="FooterTableStyle">
+    <tr>
+            <td class="FooterLeftStyle">
+            Apache Stonehenge Incubator Project</td>
+            <td class="FooterRightStyle">
+            .NET StockTrader</td>
+    </tr>
+    <tr>
+            <td colspan="2" class="FooterCopyRightStyle"><br />
+            Created with Visual Studio and the Microsoft .NET Framework 3.5 
+            </td>
+    </tr>
+</table> 
+</table>         
+</body>
+</html>
\ No newline at end of file

Added: incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx.cs?rev=728078&view=auto
==============================================================================
--- incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx.cs (added)
+++ incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/Trade/Quotes.aspx.cs Fri Dec 19 09:43:28 2008
@@ -0,0 +1,40 @@
+//  .NET StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
+
+//  Note that for quotes we use in-page script to generate our repeating data for the HTML (based on the List
+//  returned of QuoteDataUI elements); vs. using databound Repeater controls as we do in the AccountOrders
+// (control), Portfolio (page), and MarketSummary (control).
+//  The choice of display method is up to the architect; Repeaters and GridViews have many features you do not
+//  get with in-page script; there is however a performance tradeoff (~20% for this page); we opted to use
+//  in-page script vs. Repeaters/Gridviews here becuase the Quotes page is likely to be the most-often called
+//  page in the application; we did the same for the OrdersAltert control that is embedded in every authenticaterd
+//  display page.  We utilize Repeaters elsehwhere.  Note Trade 6.1 uses in-page JSP script in all pages.
+using System;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.Security;
+using Trade.StockTraderWebApplicationSettings;
+using Trade.StockTraderWebApplicationModelClasses;
+using Trade.StockTraderWebApplicationServiceClient;
+using Trade.Utility;
+
+namespace Trade.Web
+{
+    /// <summary>
+    /// Gets/displays a list of quotes by querying Business Services.
+    /// </summary>
+    public partial class Quotes : System.Web.UI.Page
+    {
+        public List<QuoteDataUI> quoteList;
+
+        protected override void OnLoad(EventArgs e)
+        {
+            Date.Text = DateTime.Now.ToString("f");
+            BSLClient businessServicesClient = new BSLClient();
+            string symbols = Input.InputText(Request["symbols"], StockTraderUtility.SYMBOLSTRING_MAXLENGTH);
+            if (symbols != null && symbols.Length > 0)
+            {
+                quoteList = businessServicesClient.getQuotes(symbols);
+            }
+        }
+   }
+}
\ No newline at end of file



Mime
View raw message