incubator-stonehenge-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From drew...@apache.org
Subject svn commit: r769572 [4/4] - in /incubator/stonehenge/trunk/stocktrader/dotnet: business_service/BusinessServiceConfigurationSettings/ business_service/BusinessServiceConsole/ business_service/OrderProcessorASyncClient/ common/ServiceConfigurationSettin...
Date Tue, 28 Apr 2009 22:20:52 GMT
Modified: incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx?rev=769572&r1=769571&r2=769572&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx (original)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx Tue Apr 28 22:20:50 2009
@@ -1,5 +1,4 @@
-<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
+<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    EnableViewState="false" EnableEventValidation="false"
    CodeFile="StockTrade.aspx.cs" Inherits="Trade.Web.StockTrade" %>
<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<% /* 
 Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
@@ -13,108 +12,5 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
- -->
- 
-<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" EnableEventValidation="false" CodeFile="StockTrade.aspx.cs" Inherits="Trade.Web.StockTrade" %>
-<!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 Trade</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">Trade</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 /><br /><br /><br /><br />
-                 <div class="ConfirmStyle">Trade Confirmation</div>
-                 <br />
-          <table class="StockTradeTableStyle">
-              <tr>
-                 <td colspan="4" style="font-size:12px;padding-top:8px;">
-                 <asp:Label ID="TradeOperation" runat="server"></asp:Label>
-                </td>
-              </tr>
-              <tr>
-                <td style="text-align:right;padding-left:4px; padding-right:4px; width: 749px;">
-                Number of Shares:
-                </td>
-                <td style="text-align:left;padding-left:4px; padding-right:4px; width: 143px;">
-                <asp:TextBox ID="quantity" runat="server" MaxLength="7" Width="50px" BackColor="#EBEBEB" BorderColor="#d4d8db">100</asp:TextBox>
-                </td>
-                <td  style="padding-top:10px;padding-left:4px; padding-right:4px;padding-bottom:12px">
-                <div class="LinkButtonTradeStyle" style="padding-left:20px;"><asp:LinkButton ID="LinkButtonBuy" runat="server" CssClass="Button">Buy</asp:LinkButton></div>
-                </td>
-                <td  style="padding-top:10px; padding-right:25px;padding-bottom:12px">
-                <div class="LinkButtonTradeStyle" style="padding-left:12px;"><asp:LinkButton ID="LinkButtonCancel" runat="server" CssClass="Button" PostBackUrl="Quotes.aspx">Cancel</asp:LinkButton></div>
-                </td>
-             </tr>
-          </table>    
-                <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="quantity"
-                    ErrorMessage="Please enter a valid value..." MaximumValue="100000000" MinimumValue="1"
-                    Type="Integer"></asp:RangeValidator><br /><br /><br /><br /><br /><br /><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
+*/ %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <controls:ClosedOrders id="ClosedOrdersControl" runat="server" ></controls:ClosedOrders>

    <div class="main-title">
        <h1>Trade</h1>
        <script type="text/javascript">
            var thisdate = new Date();
    		document.writeln(thisdate.toLocaleString());
    	</script>
	</div> 
    
    <div id="confirm">
		<h2>Trade Confirmation</h2>
		<div class="confirm-content nobr">
            
            <asp:Panel runat="server" ID="BuyPanel" Visible="false">
			    <p>You have requested to buy shares of <asp:Literal runat="server" ID="BuySymbol" /> 
			    which is currently trading at <asp:Literal runat="server" ID="BuyCurrentPrice" />.</p>
            
                <div>Number of Shares: <asp:TextBox ID="BuyQuantity" runat="server" Text="100" MaxLength="7" Width="50px" />
			    
			    <asp:Button runat="server" ID="Buy" Text="Buy" CssClass="button" onclick
 ="Buy_Click" />
			    <asp:Button runat="server" ID="CancelBuy" Text="Cancel" CssClass="button" /></div>
            
                <asp:HiddenField runat="server" ID="Symbol" />
                <asp:RangeValidator ID="BuyQuantityRangeValidator" runat="server" ControlToValidate="BuyQuantity"
                    ErrorMessage="Please enter a valid value..." MaximumValue="100000000" MinimumValue="1"
+                    Type="Integer"></asp:RangeValidator>
            </asp:Panel>
            
            <asp:Panel runat="server" ID="SellPanel" Visible="false">

                <p>You have requested to sell all or part of your holding <asp:Literal runat="server" ID="HoldingId" />. 
                This holding has a total of <asp:Literal runat="server" ID="HoldingQuantity" /> shares of stock 
                <b><asp:Literal runat="server" ID="HoldingSymbol" /></b>. 
                Please indicate how many shares to sell.</p>
                
                <div>Number of Shares: <asp:TextBox ID="SellQuantity" runat="server" MaxLength="7" Width="50px" />
                
                <asp:Button runat="server" ID="Sell" Text="Sell" CssClass="button" 
                        onclick="Sell_Click" />
			    <asp:Button runat="server" ID="CancelSell" Text="Cancel" CssClass="button" /></div>
                
                <asp:RangeValidator ID="SellQuantityRangeValida
 tor" runat="server" ControlToValidate="SellQuantity"
                    ErrorMessage="Please enter a valid value..." MaximumValue="100000000" MinimumValue="1"
                    Type="Integer"></asp:RangeValidator>
            
            </asp:Panel>
            
            <asp:Panel runat="server" ID="InvalidActionPanel">
                
                <p>You performed an invalid action please return to the previous page and try again.</p>
                <asp:Button runat="server" ID="InvalidActionButton" Text="Back" CssClass="button" PostBackUrl="~/Quotes.aspx" />
                
            </asp:Panel>
            
		</div>
	</div>
          
    <div class="bottom">
        <asp:TextBox ID="symbols" runat="server" Text="s:0;s:1;s:2;s:3"></asp:TextBox>
        <asp:Button ID="GetQuoteButton" runat="server" PostBackUrl="~/Quotes.aspx" CssClass="button" Text="Get Quote" />
    </div>

</asp:Content>
\ No newline at end of file

Modified: incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx.cs?rev=769572&r1=769571&r2=769572&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx.cs (original)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/StockTrade.aspx.cs Tue Apr 28 22:20:50 2009
@@ -34,54 +34,78 @@
 
         protected void Page_Load(object sender, EventArgs e)
         {
-            Date.Text = DateTime.Now.ToString("f");
             string userid = HttpContext.Current.User.Identity.Name;
             BSLClient businessServicesClient = new BSLClient();
-            string action = Input.InputText(Request["action"], 5);
-            string returnUrl = Input.InputText(Request["return"], 25);
-            if (action == StockTraderUtility.ORDER_TYPE_BUY)
+            string action = Input.InputText(Request["action"], 5) ?? string.Empty;
+
+            if (action.Equals(StockTraderUtility.ORDER_TYPE_BUY, StringComparison.InvariantCultureIgnoreCase))
             {
+                this.InvalidActionPanel.Visible = false;
+                this.BuyPanel.Visible = true;
+
                 string quoteSymbol = Input.InputText(Request["symbol"], StockTraderUtility.QUOTESYMBOL_MAX_LENGTH);
                 QuoteDataUI quote = businessServicesClient.getQuote(quoteSymbol);
-                LinkButtonBuy.PostBackUrl = Settings.PAGE_ORDER + "?action=buy" + "&symbol=" + quote.symbol;
-                LinkButtonCancel.PostBackUrl = LinkButtonCancel.PostBackUrl + "?symbols=" + quoteSymbol;
-                TradeOperation.Text = "You have requested to <b>buy</b> shares of " + quote.quoteLink + " which is currently trading at " + quote.priceWithArrow;
+
+                this.Symbol.Value = quoteSymbol;
+                this.BuySymbol.Text = quote.quoteLink;
+                this.BuyCurrentPrice.Text = quote.price.ToString("C");
+
+                this.CancelBuy.PostBackUrl = Settings.PAGE_QUOTES + "?symbols=" + quoteSymbol;
             }
-            else
+            else if (action.Equals(StockTraderUtility.ORDER_TYPE_SELL, StringComparison.InvariantCultureIgnoreCase))
             {
-                LinkButtonCancel.PostBackUrl = returnUrl;
-                string holdingID = Request["holdingid"];
-                int holdingid = Convert.ToInt32(holdingID);
-                if (action == StockTraderUtility.ORDER_TYPE_SELL)
+                this.InvalidActionPanel.Visible = false;
+                this.SellPanel.Visible = true;
+
+                this.CancelSell.PostBackUrl = GetReturnUrl();
+
+                string holdingIdString = Request["holdingid"];
+                this.HoldingId.Text = holdingIdString;
+                int holdingId;
+                if (Int32.TryParse(holdingIdString, out holdingId))
                 {
-                    if (Settings.interfaceMode == StockTraderUtility.ACCESS_WSAS_Http_WebService
-                        || Settings.interfaceMode == StockTraderUtility.ACCESS_PHP_Http_WebService)
-                    {
-                        TradeOperation.Text = "You have requested to sell your holding " + holdingID + ". Please confirm this request.";
-                        //indicate for postback we are running against WebSphere Trade 6.1 which does not implement the functionality/business logic
-                        //to sell a portion of a holding--only the entire holding can be sold at once.
-                        quantity.Text = "-1";
-                        quantity.Visible = false;
-                        LinkButtonBuy.Text = "Sell";
-                        LinkButtonBuy.PostBackUrl = Settings.PAGE_ORDER + "?action=sell" + "&holdingid=" + holdingID;
-                    }
-                    else
-                    {
-                        HoldingDataUI holding = businessServicesClient.getHolding(userid, holdingid);
-                        StringBuilder strBldr = new StringBuilder("You have requested to sell all or part of your holding ");
-                        strBldr.Append(holdingID);
-                        strBldr.Append(". This holding has a total of ");
-                        strBldr.Append(holding.quantity);
-                        strBldr.Append(" shares of stock <b>");
-                        strBldr.Append(holding.quoteID);
-                        strBldr.Append("</b>. Please indicate how many shares to sell.");
-                        TradeOperation.Text = strBldr.ToString();
-                        quantity.Text = holding.quantity;
-                        LinkButtonBuy.Text = "Sell";
-                        LinkButtonBuy.PostBackUrl = Settings.PAGE_ORDER + "?action=sell" + "&holdingid=" + holdingID;
-                    }
+                    HoldingDataUI holding = businessServicesClient.getHolding(userid, holdingId);
+                    
+                    this.HoldingQuantity.Text = holding.quantity;
+                    this.HoldingSymbol.Text = holding.quoteID;
+                    
+                    SellQuantityRangeValidator.MaximumValue = holding.quantity;
+                    SellQuantity.Text = holding.quantity;
                 }
             }
+            else
+            {
+                this.InvalidActionButton.PostBackUrl = GetReturnUrl();
+            }
+        }
+
+        protected void Buy_Click(object sender, EventArgs e)
+        {
+            Response.Redirect(Settings.PAGE_ORDER + "?action=" + StockTraderUtility.ORDER_TYPE_BUY 
+                + "&symbol=" + this.Symbol.Value
+                + "&quantity=" + this.BuyQuantity.Text);
+        }
+
+        protected void Sell_Click(object sender, EventArgs e)
+        {
+            Response.Redirect(Settings.PAGE_ORDER + "?action=" + StockTraderUtility.ORDER_TYPE_SELL 
+                + "&holdingid=" + this.HoldingId.Text
+                + "&quantity=" + this.SellQuantity.Text);
+        }
+
+        private string GetReturnUrl()
+        {
+            string returnUrl = Input.InputText(Request["return"], 25) ?? string.Empty;
+            if (!string.IsNullOrEmpty(returnUrl))
+            {
+                return returnUrl;
+            }
+
+            if (Request.UrlReferrer != null)
+            {
+                return Request.UrlReferrer.ToString();
+            }
+            return Settings.PAGE_QUOTES;
         }
     }
 }
\ No newline at end of file

Modified: incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx?rev=769572&r1=769571&r2=769572&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx (original)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx Tue Apr 28 22:20:50 2009
@@ -1,5 +1,4 @@
-<%@ Register TagPrefix="controls" TagName="MarketSummary" Src = "Controls/MarketSummary.ascx"  %>
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
+<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    EnableViewState="false" EnableEventValidation="false"
    CodeFile="TradeHome.aspx.cs" Inherits="Trade.Web.TradeHome" %>
<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
<%@ Register TagPrefix="controls" TagName="MarketSummary" Src = "Controls/MarketSummary.ascx"  %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<% /* 
 Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
@@ -13,179 +12,4 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
- -->
- 
-<%@ Register TagPrefix="controls" TagName="ClosedOrders" Src = "Controls/ClosedOrders.ascx"  %>
-<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false" CodeFile="TradeHome.aspx.cs" EnableEventValidation="false" Inherits="Trade.Web.TradeHome" %>
-<!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 Home</title>
-<link rel="stylesheet" href="StockTrader.css" type="text/css" />
-</head>
-<body class="StockTraderBodyStyle">
-<!--------------------------Begin Main Web Form Declaration--------------------------------->
-<div>
-<form runat="server" id="HomeForm" style="margin:0;">  
-<!-------------------------Begin Global Header + Order Alert Control------------------------>
-<controls:ClosedOrders id="ClosedOrdersControl" runat="server" ></controls:ClosedOrders>
-<!-------------------------Begin TradeHome.aspx Page HTML----------------------------------->
-<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">Home</th>
-            <th class="TodaysDateStyle"><asp:Label ID="Date" runat="server"></asp:Label></th>
-        </tr>
-    </table>
-<table class="TradeHomeTableStyle">
-<tr>
-    <td colspan="3">
-    <br />
-    </td>
-</tr>
-<tr>
-    <td colspan = "3" class="NameStyle">Welcome, <asp:Label id="Name" runat="server"></asp:Label>
-    <br /><br /></td>
-</tr>
-<tr>
-            <td colspan="2" class="SubHeaderStyle2">
-            <table>
-               <tr>
-                  <td colspan="4" style="padding-top:7px"> User Statistics
-                  <hr style="width: 310px;"/>  </td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Account ID:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="AccountID" runat="server"></asp:Label></td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Account Created:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="CreationDate" runat="server"></asp:Label></td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Total Logins:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="LoginCount" runat="server"></asp:Label></td>
-               </tr> 
-               <tr> 
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Session Created:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="SessionCreateDate" runat="server"></asp:Label>
-                  </td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle"><br /></td>
-               </tr>
-               <tr>
-                  <td colspan="4" >
-                  Account Summary<hr style="width: 310px;" /> </td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx"> Cash Balance:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="Balance" runat="server"></asp:Label></td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Number of Holdings:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="NumHoldings" runat="server"></asp:Label></td>
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Total of Holdings: </a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="HoldingsTotal" runat="server"></asp:Label></td>  
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Sum of Cash & Holdings</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="SumOfCashHoldings" runat="server"></asp:Label></td> 
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Opening Balance:</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="OpenBalance" runat="server"></asp:Label></td> 
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">Current Gain/(Loss):</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="Gain" runat="server"></asp:Label></td> 
-               </tr>
-               <tr>
-                  <td class="DataHeadersStyle">
-                  <a href="Glossary.aspx">% Gain/(Loss):</a></td>
-                  <td class="DataLabelsStyle"> 
-                  <asp:Label ID="PercentGain" runat="server"></asp:Label></td> 
-               </tr>
-            </table></td>
-            <td >
-<!---------------------------Start MarketSummary ASP.NET User Control----------------------->
- <controls:MarketSummary id="MarketSummary" runat="server" ></controls:MarketSummary>
-<!---------------------------End MarketSummary ASP.NET User Control------------------------->   
-            </td>
-         </tr>
-        <tr>
-            <td><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
+*/ %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <controls:ClosedOrders id="ClosedOrdersControl" runat="server" ></controls:ClosedOrders>

    <div class="main-title">
        <h1>Home</h1>
        <script type="text/javascript">
            var thisdate = new Date();
    		document.writeln(thisdate.toLocaleString());
    	</script>
	</div>
    <div class="clearfix">
        <div class="left">
            <h3>Welcome <asp:Literal runat="server" ID="Name" /></h3>
        
            <table class="normal">
				<thead>
				    <tr>
				        <th colspan="2">User Statistics</th>
				    </tr>
				</thead>
				<tbody>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Account ID:</a></td>
                      <td> 
                        <asp:Label ID="AccountID" runat="server"></asp:Label>
                      </td>
                   </tr>
                   <tr>
                
       <td class="special"><a href="Glossary.aspx">Account Created:</a></td>
                      <td> 
                        <asp:Label ID="CreationDate" runat="server"></asp:Label>
                      </td>
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Total Logins:</a></td>
                      <td> 
                        <asp:Label ID="LoginCount" runat="server"></asp:Label>
                      </td>
                   </tr> 
                   <tr> 
                      <td class="special"><a href="Glossary.aspx">Session Created:</a></td>
                      <td> 
                        <asp:Label ID="SessionCreateDate" runat="server"></asp:Label>
                      </td>
                   </tr>
               </tbody>
				<thead>
				    <tr>
				        <th colspan="2">Account Summary</th>
				    </tr>
				</thead>
				<tbody>
                   <tr>
                      <td class=
 "special"><a href="Glossary.aspx">Cash Balance:</a></td>
                      <td> 
                          <asp:Label ID="Balance" runat="server"></asp:Label>
                      </td>
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Number of Holdings:</a></td>
                      <td> 
                        <asp:Label ID="NumHoldings" runat="server"></asp:Label>
                      </td>
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Total of Holdings: </a></td>
                      <td> 
                        <asp:Label ID="HoldingsTotal" runat="server"></asp:Label>
                      </td>  
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Sum of Cash & Holdings</a></td>
                      <td> 
                        <asp:Label ID="SumOfCashHoldings" r
 unat="server"></asp:Label>
                      </td> 
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Opening Balance:</a></td>
                      <td> 
                        <asp:Label ID="OpenBalance" runat="server"></asp:Label>
                      </td> 
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">Current Gain/(Loss):</a></td>
                      <td> 
                        <asp:Label ID="Gain" runat="server"></asp:Label>
                      </td> 
                   </tr>
                   <tr>
                      <td class="special"><a href="Glossary.aspx">% Gain/(Loss):</a></td>
                      <td> 
                        <asp:Label ID="PercentGain" runat="server"></asp:Label>
                      </td> 
                   </tr>
               </tbody>
            </table>
            </div>
            <di
 v class="right">
                 <controls:MarketSummary id="MarketSummary" runat="server" ></controls:MarketSummary>
           </div>
       </div>
       
        <!-------------------------------Start Get Quote Input Form/Footer-------------------------->
        <div class="bottom">
            <asp:TextBox ID="symbols" runat="server" Text="s:0;s:1;s:2;s:3"></asp:TextBox>
            <asp:Button ID="GetQuoteButton" runat="server" PostBackUrl="~/Quotes.aspx" CssClass="button" Text="Get Quote" />
        </div>
</asp:Content>
\ No newline at end of file

Modified: incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx.cs?rev=769572&r1=769571&r2=769572&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx.cs (original)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/TradeHome.aspx.cs Tue Apr 28 22:20:50 2009
@@ -35,7 +35,6 @@
     {
         protected void Page_Load(object sender, EventArgs e)
         {
-            Date.Text = DateTime.Now.ToString("t");
             decimal gain = (decimal)0.00;
             decimal percentGain = (decimal)0.00;
             TotalHoldingsUI totalHoldings;
@@ -71,31 +70,25 @@
             HoldingsTotal.Text = string.Format("{0:C}", totalHoldings.marketValue);
             decimal totalcashandholdings = totalHoldings.marketValue + customer.balance;
             SumOfCashHoldings.Text = string.Format("{0:C}", totalcashandholdings);
+            
             gain = totalcashandholdings - customer.openBalance;
-            string percentGainString = "";
             if (customer.openBalance != 0)
                 percentGain = gain / customer.openBalance * 100;
             else
                 percentGain = 0;
             if (gain > 0)
             {
-                percentGainString = string.Format("{0:N}%" + Settings.UPARROWLINK, percentGain);
-                Gain.ForeColor = System.Drawing.Color.DarkGreen;
-                PercentGain.ForeColor = System.Drawing.Color.DarkGreen;
+                Gain.CssClass = Settings.GAINSTYLECSS;
+                PercentGain.CssClass = Settings.GAINSTYLECSS;
             }
             else 
                 if (gain < 0)
                 {
-                    percentGainString = string.Format("{0:N}%" + Settings.DOWNARROWLINK, percentGain);
-                    Gain.ForeColor = System.Drawing.Color.DarkRed;
-                    PercentGain.ForeColor = System.Drawing.Color.DarkRed;
+                    Gain.CssClass = Settings.LOSSSTYLECSS;
+                    PercentGain.CssClass = Settings.LOSSSTYLECSS;
                 }
-                else
-                    {
-                        percentGainString = string.Format("{0:N}%", percentGain);
-                    }
             Gain.Text = string.Format("{0:C}", gain);
-            PercentGain.Text = percentGainString;
+            PercentGain.Text = string.Format("{0:N}%", percentGain); ;
         }
     }
 }

Modified: incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/Web.config
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/Web.config?rev=769572&r1=769571&r2=769572&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/Web.config (original)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/Web.config Tue Apr 28 22:20:50 2009
@@ -39,27 +39,20 @@
         -->
     <add key="EVENT_LOG" value="Trade Web App"/>
     <add key="MAX_DISPLAY_ORDERS" value="20"/>
-    <add key="MAX_DISPLAY_TOP_ORDERS" value="20"/>
+    <add key="MAX_DISPLAY_TOP_ORDERS" value="5"/>
     <add key="DISPLAY_DUPLICATE_KEY_EXCEPTIONS" value="true"/>
     <add key="CHECK_ORDER_ALERT_EVERY_REQUEST" value="true"/>
     <add key="ORDER_ALERT_CHECK_FREQUENCY" value="30"/>
-    <add key="BSL_DOTNET_ENDPOINT_CONFIG_HTTP" value="Client_BSL_DotNet_BasicHttpBinding"/>
-    <add key="BSL_DOTNET_ENDPOINT_CONFIG_WSHTTP" value="Client_BSL_DotNet_WsHttpBinding"/>
-    <add key="BSL_PHP_ENDPOINT_CONFIG_HTTP" value="Client_BSL_PHP_BasicHttpBinding"/>
-    <add key="BSL_WSAS_ENDPOINT_CONFIG_HTTP" value="Client_BSL_WSAS_BasicHttpBinding"/>
+    <add key="BSL_DOTNET_ENDPOINT_CONFIG_HTTP" value="BsClient_DotNet_BasicHttpBinding"/>
+    <add key="BSL_DOTNET_ENDPOINT_CONFIG_WSHTTP" value="BsClient_DotNet_WsHttpBinding"/>
+    <add key="BSL_PHP_ENDPOINT_CONFIG_HTTP" value="BClient_PHP_BasicHttpBinding"/>
+    <add key="BSL_WSAS_ENDPOINT_CONFIG_HTTP" value="BsClient_WSAS_BasicHttpBinding"/>
     <add key="BSL_USERID" value="bsloperationuser"/>
     <add key="BSL_PASSWORD" value="yyy"/>
 
-    <!-- These are duplicated from Business Service to support ACCESS_MODE=InProcess-->
-    <add key="ORDER_PROCESSING_MODE" value="ASync_Http_MSecurity"/>
-    <!--
-       //Valid Config Values for user-set "OrderMode" config setting.
-        public const string ORDER_STRING_Sync = "Sync_InProcess";
-        public const string ORDER_STRING_ASyncHttp = "ASync_Http";
-        public const string ORDER_STRING_ASyncHttpMSec = "ASync_Http_MSecurity";
-        public const string ORDER_STRING_WSO2_HTTP_MSEC = "ASync_WSO2_Java_Http_MSecurity";
+    <!-- This is duplicated from Business Service to support ACCESS_MODE=InProcess-->
+    <add key="ORDER_PROCESSING_MODE" value="Sync_InProcess"/>
 
-    -->
     <add key="BSL_VALID_USERID" value="bsloperationuser"/>
     <add key="BSL__VALID_PASSWORD" value="yyy"/>
     <add key="DBServer" value="localhost"/>
@@ -78,10 +71,6 @@
     <!--Can't be ZERO-->
     <add key="DISPLAYNUMBERORDERITERATIONS" value="3"/>
     <!--Can't be ZERO-->
-    <add key="OPS_DOTNET_ENDPOINT_CONFIG_HTTP" value="Client_BasicHttpBinding"/>
-    <add key="OPS_DOTNET_ENDPOINT_CONFIG_WSHTTP" value="Client_WsHttpBinding_M_Security_OPS"/>
-    <add key="OPS_WSO2_ENDPOINT_CONFIG_WSHTTP" value="Client_customBinding_M_Security_OPS_WS02"/>
-
   </appSettings>
   <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@@ -99,76 +88,66 @@
     <!--This enables the WCF ServiceModel performance counters for this application.-->
     <diagnostics performanceCounters="All"></diagnostics>
 
+		<!--********************************************************
+        
+    Config Service BS Clients
+    
+    *********************************************************-->
     <client>
-      <endpoint address="http://localhost:8000/tradeorderprocessor" binding="basicHttpBinding" 
-                bindingConfiguration="Client_BasicHttpBinding" contract="Trade.OrderProcessorContract.IOrderProcessor" 
-                name="Client_BasicHttpBinding"/>
-      <endpoint address="http://localhost:8000/tradeorderprocessor/msec" binding="wsHttpBinding" 
-                bindingConfiguration="Client_WsHttpBinding_M_Security_OPS" contract="Trade.OrderProcessorContract.IOrderProcessor" 
-                behaviorConfiguration="OPS_ClientCertificateBehavior" 
-                name="Client_WsHttpBinding_M_Security_OPS">
-        <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAA+g9Yu2BfpDNp4nno+QiIcv3gmUMgAAAAAQAAAPQBAAAwggHwMIIBWaADAgECAhDUQtaRqC0hpkD6saVDQMH8MA0GCSqGSIb3DQEBBAUAMBIxEDAOBgNVBAMTB09QUy5Db20wHhcNMDgwNTIxMDQ0NTAxWhcNMzkxMjMxMjM1OTU5WjASMRAwDgYDVQQDEwdPUFMuQ29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHCT2agc1venAAV2iWxWs1ELKlr0wAf005uUYlFbpq/3ewLmi5t+NvN8iBRHJxWA5igj/obcBmKMQ0L/+1HwKI27B9zffyPiAYkJhAwoXzR/S/7Cw4KFtYD+NIyZbRd5naa2fbyRTNnAE35q4r6JS6tiZR9mU0IjMuszj0oqotEwIDAQABo0cwRTBDBgNVHQEEPDA6gBAYaG6w3pziP/tZKe+J5ExsoRQwEjEQMA4GA1UEAxMHT1BTLkNvbYIQ1ELWkagtIaZA+rGlQ0DB/DANBgkqhkiG9w0BAQQFAAOBgQBnzFXGKgK8by3yILHlfLsmBTIZWdODFWE/f64wZJxrS7XCqd+g962FeTKQ+QI/lkRhJLlKgEt0IqGfUeogJ1MGRHabR5ujnQKhdPWUDL7kwQt3OVHxIf0pXqeiTAI8BbdFRGTWG5oOLcU7WgUNWbrXjqsAHJmsb8+MN7fD4xRoeA=="/>
-        </identity>
-      </endpoint>
-      <endpoint address="http://insert_WSO2_address_here" binding="customBinding" 
-                bindingConfiguration="Client_customBinding_M_Security_OPS_WS02" contract="Trade.OrderProcessorContract.IOrderProcessor" behaviorConfiguration="OPS_ClientCertificateBehavior" 
-                name="Client_customBinding_M_Security_OPS_WS02">
-        <identity>
-          <certificate encodedValue="MIIDCjCCAfKgAwIBAgIQYDju2/6sm77InYfTq65x+DANBgkqhkiG9w0BAQUFADAwMQ4wDAYDVQQKDAVPQVNJUzEeMBwGA1UEAwwVT0FTSVMgSW50ZXJvcCBUZXN0IENBMB4XDTA1MDMxOTAwMDAwMFoXDTE4MDMxOTIzNTk1OVowQDEOMAwGA1UECgwFT0FTSVMxIDAeBgNVBAsMF09BU0lTIEludGVyb3AgVGVzdCBDZXJ0MQwwCgYDVQQDDANCb2IwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMCquMva4lFDrv3fXQnKK8CkSU7HvVZ0USyJtlL/yhmHH/FQXHyYY+fTcSyWYItWJYiTZ99PAbD+6EKBGbdfuJNUJCGaTWc5ZDUISqM/SGtacYe/PD/4+g3swNPzTUQAIBLRY1pkr2cm3s5Ch/f+mYVNBR41HnBeIxybw25kkoM7AgMBAAGjgZMwgZAwCQYDVR0TBAIwADAzBgNVHR8ELDAqMCiiJoYkaHR0cDovL2ludGVyb3AuYmJ0ZXN0Lm5ldC9jcmwvY2EuY3JsMA4GA1UdDwEB/wQEAwIEsDAdBgNVHQ4EFgQUXeg55vRyK3ZhAEhEf+YT0z986L0wHwYDVR0jBBgwFoAUwJ0o/MHrNaEd1qqqoBwaTcJJDw8wDQYJKoZIhvcNAQEFBQADggEBAIiVGv2lGLhRvmMAHSlY7rKLVkv+zEUtSyg08FBT8z/RepUbtUQShcIqwWsemDU8JVtsucQLc+g6GCQXgkCkMiC8qhcLAt3BXzFmLxuCEAQeeFe8IATr4wACmEQE37TEqAuWEIanPYIplbxYgwP0OBWBSjcRpKRAxjEzuwObYjbll6vKdFHYIweWhhWPrefquFp7TefTkF4D3rcctTfWJ76I5NrEVld+7PBnnJNpdDEuGsoaiJrwTW3Ixm40
 RXvG3fYS4hIAPeTCUk3RkYfUkqlaaLQnUrF2hZSgiBNLPe8gGkYORccRIlZCGQDEpcWl1Uf9OHw6fC+3hkqolFd5CVI=" />
-        </identity>
-      </endpoint>
-
-      <!-- Business Services - Client Endpoints  -->
-      <endpoint address="http://localhost:9000/tradebusinessservice" binding="basicHttpBinding" 
-                bindingConfiguration="Client_BasicHttpBinding" contract="Trade.BusinessServiceContract.ITradeServices" 
-                name="Client_BSL_DotNet_BasicHttpBinding"/>
-      <endpoint address="http://localhost:9000/tradebusinessservice/msec" binding="wsHttpBinding" 
-                bindingConfiguration="Client_WsHttpBinding_M_Security_TradeBSL" contract="Trade.BusinessServiceContract.ITradeServices"
-                behaviorConfiguration="BSL_ClientCertificateBehavior"
-                name="Client_BSL_DotNet_WsHttpBinding">
+      <!-- DotNet Clients  -->
+      <endpoint address="http://localhost:9000/tradebusinessservice"
+                contract="Trade.BusinessServiceContract.ITradeServices" 
+                binding="basicHttpBinding" bindingConfiguration="BsClient_BasicHttpBinding" 
+                name="BsClient_DotNet_BasicHttpBinding"/>
+      
+      <endpoint address="http://localhost:9000/tradebusinessservice/msec" 
+      					contract="Trade.BusinessServiceContract.ITradeServices"
+      					binding="wsHttpBinding" bindingConfiguration="BsClient_WsHttpBinding_MSec"
+                behaviorConfiguration="BsClient_CertificateBehavior"
+                name="BsClient_DotNet_WsHttpBinding">
         <identity>
           <dns value="trade.com"/>
         </identity>
       </endpoint>
-      <endpoint address="http://localhost:8080/php_stocktrader/business_service/business_svc.php" binding="basicHttpBinding"
-                bindingConfiguration="Client_BasicHttpBinding" contract="Trade.BusinessServiceContract.ITradeServices"
-                name="Client_BSL_PHP_BasicHttpBinding"/>
-      <endpoint address="http://localhost:9763/services/TradeServiceWsas" binding="basicHttpBinding"
-                bindingConfiguration="Client_BasicHttpBinding" contract="Trade.BusinessServiceContract.ITradeServices"
-                name="Client_BSL_WSAS_BasicHttpBinding"/>
+      
+      <!-- PHP Client  -->
+      <endpoint address="http://localhost:8080/php_stocktrader/business_service/business_svc.php" 
+                contract="Trade.BusinessServiceContract.ITradeServices"
+                binding="basicHttpBinding" bindingConfiguration="BsClient_BasicHttpBinding"
+                name="BsClient_PHP_BasicHttpBinding"/>
+      
+      <!-- WSAS Client  -->
+      <endpoint address="http://localhost:9763/services/TradeServiceWsas" 
+      					contract="Trade.BusinessServiceContract.ITradeServices"
+      					binding="basicHttpBinding" bindingConfiguration="BsClient_BasicHttpBinding"
+                name="BsClient_WSAS_BasicHttpBinding"/>
     </client>
-    <!--********************************************************BEGIN CONFIG SERVICE TEMPLATE BINDINGS*****************************************************-->
+    
+    <!--********************************************************
+        
+    Config Service BINDINGS
+    
+    *********************************************************-->
     <bindings>
       <!--BEGIN basicHttpBindings-->
       <basicHttpBinding>
+        
         <!--THESE ARE TEMPLATE PRIMARY SERVICE CLIENT BINDINGS.  TO AUGMENT, ADD WITH PREFIX 'Client_'-->
-        <binding name="Client_BasicHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:1:00" allowCookies="true" bypassProxyOnLocal="true" hostNameComparisonMode="StrongWildcard" maxBufferSize="524288" maxBufferPoolSize="524288" maxReceivedMessageSize="524288" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
+        <binding name="BsClient_BasicHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:1:00" allowCookies="true" bypassProxyOnLocal="true" hostNameComparisonMode="StrongWildcard" maxBufferSize="524288" maxBufferPoolSize="524288" maxReceivedMessageSize="524288" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
           <readerQuotas maxDepth="512" maxStringContentLength="262144" maxArrayLength="262144" maxBytesPerRead="65536" maxNameTableCharCount="262144"/>
           <security mode="None">
             <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
             <message clientCredentialType="Certificate" algorithmSuite="Default"/>
           </security>
         </binding>
+      
       </basicHttpBinding>
 
 
       <!--BEGIN wsHttpBindings-->
       <wsHttpBinding>
-        <binding name="Client_WsHttpBinding_M_Security_OPS" closeTimeout="00:01:00"
-                            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
-                            bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
-                            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
-                            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
-                            allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
-            <message clientCredentialType="Certificate" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" />
-          </security>
-        </binding>
-        <binding name="Client_WsHttpBinding_M_Security_TradeBSL" closeTimeout="00:01:00"
+       
+        <binding name="BsClient_WsHttpBinding_MSec" closeTimeout="00:01:00"
                                     openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                                     bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                                     maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
@@ -183,26 +162,13 @@
         </binding>
 
       </wsHttpBinding>
-      <customBinding>
-        <binding name="Client_customBinding_M_Security_OPS_WS02">
-          <security defaultAlgorithmSuite="Basic256" authenticationMode="AnonymousForCertificate" requireDerivedKeys="false" securityHeaderLayout="Lax" includeTimestamp="true" keyEntropyMode="CombinedEntropy" messageProtectionOrder="SignBeforeEncrypt" messageSecurityVersion="Default" requireSignatureConfirmation="true">
-            <localClientSettings cacheCookies="true" detectReplays="true" replayCacheSize="900000" maxClockSkew="00:05:00" maxCookieCachingTime="00:05:00" replayWindow="00:05:00" sessionKeyRenewalInterval="10:00:00" sessionKeyRolloverInterval="00:05:00" reconnectTransportOnFailure="true" timestampValidityDuration="00:05:00" cookieRenewalThresholdPercentage="60"/>
-            <localServiceSettings detectReplays="true" issuedCookieLifetime="10:00:00" maxStatefulNegotiations="128" replayCacheSize="900000" maxClockSkew="00:05:00" negotiationTimeout="00:01:00" replayWindow="00:05:00" inactivityTimeout="00:02:00" sessionKeyRenewalInterval="15:00:00" sessionKeyRolloverInterval="00:05:00" reconnectTransportOnFailure="true" maxPendingSessions="128" maxCachedCookies="1000" timestampValidityDuration="00:05:00"/>
-            <secureConversationBootstrap/>
-          </security>
-          <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12" writeEncoding="utf-8">
-            <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          </textMessageEncoding>
-          <httpTransport/>
-        </binding>
-      </customBinding>
-
 
     </bindings>
     <!--Service Behaviors are applied (at the service level) to services that specify them, hence apply to ALL ENDPOINTS FOR A SERVICE HOST/VHOST -->
     <behaviors>
       <!--Endpint Behaviors are applied at the individual endpoint level.-->
       <endpointBehaviors>
+        <!--
         <behavior name="ClientCertificateBehavior">
           <clientCredentials>
             <serviceCertificate>
@@ -210,21 +176,24 @@
             </serviceCertificate>
           </clientCredentials>
         </behavior>
-        <behavior name="BSL_ClientCertificateBehavior">
+        -->
+        <behavior name="BsClient_CertificateBehavior">
           <clientCredentials>
             <serviceCertificate>
               <authentication certificateValidationMode="PeerOrChainTrust"/>
             </serviceCertificate>
           </clientCredentials>
         </behavior>
+        <!--
         <behavior name="OPS_ClientCertificateBehavior">
           <clientCredentials>
             <clientCertificate findValue="BSL.Com" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="TrustedPeople"/>                     
           </clientCredentials>
-        </behavior>
+        </behavior>-->
       </endpointBehaviors>
     </behaviors>
     <!--END CONFIG SERVICE TEMPLATE BEHAVIORS-->
+    
   </system.serviceModel>
   <!-- Set identity impersonate to false to make sure ASP.NET runs as its 
        preferred ASP.NET Machine Account. Note this is also required for the 
@@ -248,27 +217,21 @@
             during development.
         -->
     <customErrors mode="Off"></customErrors>
-    <pages buffer="true" enableSessionState="false" enableViewState="false" enableViewStateMac="false" smartNavigation="false"/>
-    <compilation defaultLanguage="c#" debug="true">
-      <assemblies>
-        <add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
-        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.IdentityModel.Selectors, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
-        <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
-        <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
-        <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
-        <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
-        <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
-        <add assembly="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+    <pages buffer="true" enableSessionState="false" enableViewState="false" enableViewStateMac="false" smartNavigation="false">
+      <controls>
+        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+      </controls>
+    </pages>
+		<compilation defaultLanguage="c#" debug="true">
+			<assemblies>
+        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
         <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
       </assemblies>
-    </compilation>
+		</compilation>
     <authentication mode="Forms">
       <forms name="signinform" loginUrl="login.aspx" protection="None" timeout="15"/>
     </authentication>
@@ -286,6 +249,14 @@
         -->
     <sessionState mode="Off" cookieless="false" stateConnectionString="" timeout="15"/>
   </system.web>
+  <system.codedom>
+    <compilers>
+      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+        <providerOption name="CompilerVersion" value="v3.5"/>
+        <providerOption name="WarnAsError" value="false"/>
+      </compiler>
+    </compilers>
+  </system.codedom>
   <!--These are the restricted pages based on ASP.NET authentication; and require
       user login before access is granted-->
   <location path="Account.aspx">

Added: incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/style.css
URL: http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/style.css?rev=769572&view=auto
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/style.css (added)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/trader_client/Trade/style.css Tue Apr 28 22:20:50 2009
@@ -0,0 +1,436 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+body {
+    background-image: url(images/bg.png);
+    background-repeat: repeat-x;
+    background-position: left top;
+    background-attachment: scroll;
+    font-size: 11px;
+    font-family: Verdana, Arial, Helvetica, san-serif;
+    padding: 0px;
+    margin: 0px auto;
+}
+
+p { }
+
+h3 {
+    margin-top:5px;
+    font-size: 16px;
+    font-weight: normal;
+    color: #F47B20;
+}
+
+td { }
+
+a:link { 
+    color: #0054A6;
+    text-decoration: none;
+}
+
+a:visited {
+
+}
+
+a:hover {
+    text-decoration: underline;
+}
+
+a:active { }
+
+input {
+    border-left: solid 1px #999;
+    border-bottom: solid 1px #333;
+    border-right: solid 1px #333;
+    border-top: solid 1px #999;
+    margin-right: 7px;
+}
+input.button {
+    background-image: url(images/button-bg.gif);
+    background-repeat: repeat-x;
+    background-position: left top;
+    background-attachment: scroll;
+    border-left: solid 1px #FDBB30;
+    border-bottom: solid 2px #F47B20;
+    border-right: solid 2px #F47B20;
+    border-top: solid 1px #FDBB30;
+    height: 22px;
+    font-weight: bold;
+    padding-left: 10px;
+    padding-right: 10px;
+    cursor: pointer;
+}
+
+input[type="password"], input[type="textbox"], textarea  {
+    font-family:sans-serif; 
+}
+
+td {
+    vertical-align: top;
+}
+
+div#content {
+    width: 902px;
+    margin: 0px auto;
+    margin-top: 15px;
+}
+div#header {
+    background-image: url(images/header-bg.png);
+    background-repeat: no-repeat;
+    background-position: left top;
+    background-attachment: scroll;
+    background-color: #fff;
+    height: 57px;
+}
+div#header div.logo {
+    float: left;
+    margin-top: 0px;
+    margin-left: 20px;
+}
+div#header div.powered {
+    float: right;
+    margin-top: 10px;
+    margin-right: 20px;
+}
+div#header-links {
+    border-left: solid 2px #1D4774;
+    border-right: solid 2px #1D4774;
+    height: 35px;
+    padding-left: 70px;
+    padding-right: 20px;
+    padding-top: 0px;
+    background-color: #fff;
+    background-image: url(images/header-links-bg.png);
+    background-repeat: no-repeat;
+    background-position: left top;
+}
+div#header-links table {
+    height: 30px;
+    width: 765px;
+}
+div#header-links table td {
+}
+div#header-links table td a {
+    display: block;
+    text-align:center;
+    text-decoration: none;
+    color: #fff;
+    padding-left: 15px;
+    padding-right: 15px;
+    padding-top: 7px;
+    background-image: url(images/header-link-bg.png);
+    background-repeat: repeat-x;
+    background-position: 0px 0px;
+    height: 23px;
+    font-size: 12px;
+    font-weight: bold;
+}
+div#header-links table td a:hover {
+    background-position: 0px -30px;
+}
+div#middle {
+    background-image: url(images/middle-bg.png);
+    background-repeat: repeat-y;
+    background-position: left top;
+    background-attachment: scroll;
+    background-color: #fff;
+    min-height: 300px;
+    padding-left: 40px;
+    padding-right: 40px;
+    padding-top: 20px;
+    padding-bottom: 20px;
+}
+div#middle div.main-title {
+    border-bottom: solid 1px #1D4774;
+    text-align: right;
+    vertical-align: bottom;
+    height: 30px;
+    margin-bottom: 20px;
+}
+div#middle div.main-title h1{
+    margin-top: 0px;
+    padding-top: 0px;
+    font-size: 22px;
+    color: #1D4774;
+    float: left;
+}
+div#middle div.main-title span.time {
+}
+div.left {
+    width: 400px;
+    float: left;
+}
+div.right {
+    border: solid 1px #1D4774;
+    margin-left: 40px;
+    width: 373px;
+    float: right;
+}
+div.right p {
+    padding-left: 10px;
+    padding-right: 10px;
+}
+div.right h3{
+    margin: 0px;
+    background-color: #1D4774;
+    color: #fff;
+    padding: 5px;
+    font-size: 12px;
+}
+
+div.login {
+    text-align: center;
+}
+div.login table {
+    margin: auto;
+    font-size: 12px;
+}
+div.login table td {
+    padding:4px;
+}
+div.login p.new-user {
+    font-size: 12px;
+    font-weight: bold;
+}
+div.quotes {
+    text-align: center;
+    width: auto;
+    margin: auto;
+}
+
+
+div#middle table.normal {
+    margin-bottom: 20px;
+}
+div#middle table.normal tr{
+    text-align: left;
+    font-size: 12px;
+}
+div#middle table.normal tr th {
+    font-size: 12px;
+    border-bottom: solid 1px #333;
+    border-left: 0px;
+    border-right: 0px;
+    border-top: 0px;
+    padding-bottom: 3px;
+    color: #1D4774;
+    text-align:left;
+}
+div#middle table.normal tr td.special {
+    text-align: right;
+    padding-top: 3px;
+    vertical-align: top;
+}
+
+div#middle table.normal tr td.special a {
+    color: #1D4774;
+}
+
+
+table.table-inner {
+    border: solid 1px #999;
+    width: 100%;
+}
+table.table-inner tr td,th{
+    border: solid 1px #333;
+    padding: 5px;
+}
+table.table-inner tr th {
+    background-color: #999;
+    color: #fff;
+}
+table.table-inner tbody tr td {
+    background-color: #ccc;
+    text-align: right;
+}
+
+table.table-outer {
+    border: solid 0px #333;
+    width: auto;
+}
+table.table-outer tr td,th{
+	border: solid 1px #fff;
+	padding: 5px;
+}
+table.table-outer thead tr th {
+    background-color: #999;
+    border: solid 1px #fff;
+    color: #fff;
+    padding: 3px;
+}
+table.table-outer tbody tr td {
+    background-color: #ededed;
+    text-align: center;
+}
+table.table-outer tbody tr td.special {
+    background-color: #ccc;
+    font-weight: bold;
+    text-align: left;
+}
+table.table-outer tbody tr td.currency {
+    text-align: right;
+}
+table.table-outer tbody tr td.nobr {
+    white-space:nowrap;
+}
+
+table.table-outer tbody tr.total td, table.table-outer tfoot tr.total th {
+    background-color: #BCBEC0;
+    font-weight: bold;
+    text-align: right;
+}
+
+span.price {
+    color: #1D4774;
+}
+span.price-gain {
+    color: #1D4774;
+    background-image: url(images/green-arrow.gif);
+    background-repeat: no-repeat;
+    background-position: right top;
+    background-attachment: scroll;
+    padding-right: 17px;
+}
+span.price-loss {
+    color: #C0272D;
+    background-image: url(images/red-arrow.gif);
+    background-repeat: no-repeat;
+    background-position: right bottom;
+    background-attachment: scroll;
+    padding-right: 17px;
+}
+table.profile {
+    border: solid 1px #1D4774;
+    width: 100%;
+    margin-top: 15px;
+    background-color: #ededed;
+}
+table.profile tr td,th{
+    padding: 2px;
+}
+table.profile thead tr th {
+    color: #1D4774;
+    border-bottom: solid 1px #1D4774;
+    font-size: 12px;
+    padding: 5px;
+}
+table.profile tbody tr td {
+    background-color: #ededed;
+    text-align: right;
+}
+table.profile tbody tr td.button {
+    text-align: center;
+    padding: 7px;
+}
+table.profile-content {
+    width: auto;
+    margin-bottom: 10px;
+} 
+table.profile-content tbody tr td {
+    padding: 5px;
+    border: solid 1px #999;
+}
+table.profile-content tbody tr td.left {
+    color: #1D4774;
+}
+
+table.glossary {
+    width: 80%;
+    background-color: #ccc;
+}
+table.glossary thead tr th {
+    background-color: #666;
+    color: #fff;
+    border: 0px;
+    padding: 5px;
+}
+table.glossary tbody tr td {
+    background-color: #fff;
+    padding: 5px;
+}
+table.glossary td.left {
+    font-weight: bold;
+}
+div#confirm {
+    margin-top: 7%;
+    margin-bottom: 7%;
+    width: 60%;
+    margin-left: auto;
+    margin-right: auto;
+}
+div#confirm h2 {
+    color: #1D4774;
+    text-align: center;
+    font-size: 18px;
+}
+div#confirm div.confirm-content {
+    background-color: #B9C3CD;
+    border-top: solid 1px #1D4774;
+    border-left: solid 1px #1D4774;
+    border-right: solid 2px #1D4774;
+    border-bottom: solid 2px #1D4774;
+    padding-top: 10px;
+    padding-bottom: 20px;
+    padding-left: 20px;
+    padding-right: 20px;
+    text-align: center;
+}
+div.bottom {
+    margin-top: 10px;
+    border-top: solid 1px #1D4774;
+    padding-top: 10px;
+    padding-bottom: 0px;
+    text-align: center;
+    vertical-align: middle;
+}
+div#footer {
+    background-image: url(images/footer-bg.png);
+    background-repeat: no-repeat;
+    background-position: left top;
+    background-attachment: scroll;
+    background-color: #fff;
+    height: 30px;
+    padding-top: 25px;
+    padding-left: 20px;
+    color: #1D4774;
+}
+a img {
+	border: none;
+}
+
+
+/*   ClearFix 
+------------------*/
+.clearfix:after {
+	content: ".";
+	display: block;
+	clear: both;
+	visibility: hidden;
+	line-height: 0;
+	height: 0;
+}
+ 
+.clearfix {
+	display: inline-block;
+}
+ 
+html[xmlns] .clearfix {
+	display: block;
+}
+ 
+* html .clearfix {
+	height: 1%;
+}



Mime
View raw message