protected void Buy_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } if ((string)ViewState["type"] == "bond") { string code = (string)ViewState["code"]; string amount = txtAmount.Text.Trim(); string referenceNumber = myExternalFunctions.submitBondBuyOrder(code, amount); if (referenceNumber == null) { // order failed to submit // internal error Response.Redirect("Result.aspx?result=Oops..An internal error occured"); return; } string accountNumber = myHKeInvestCode.getUserAccountNumber(Session, Context.User.Identity.GetUserName()); string name = ((string)ViewState["name"]).Trim(); myHKeInvestCode.createNewOrder(accountNumber, referenceNumber, name, code); myHKeInvestCode.createBondBuyOrder(referenceNumber, amount); } else if ((string)ViewState["type"] == "stock") { string code = (string)ViewState["code"]; string shares = txtQuantity.Text.Trim(); string orderType = ddlStockType.SelectedValue; string expiryDate = ExpiryDate.Text.Trim(); string allOrNone = AllOrNone.Checked ? "Y" : "N"; string highPrice = txtHighPrice.Text.Trim(); string stopPrice = txtStopPrice.Text.Trim(); if (orderType == "stop limit" && !validRelation(highPrice, stopPrice)) { // HACK: manually set the validator's IsValid property // without calling Validate() method to set Page.IsValid property return; } string referenceNumber = myExternalFunctions.submitStockBuyOrder(code, shares, orderType, expiryDate, allOrNone, highPrice, stopPrice); if (referenceNumber == null) { // order failed to submit // internal error Response.Redirect("Result.aspx?result=Oops..An internal error occured"); return; } string accountNumber = myHKeInvestCode.getUserAccountNumber(Session, Context.User.Identity.GetUserName()); string name = ((string)ViewState["name"]).Trim(); myHKeInvestCode.createNewOrder(accountNumber, referenceNumber, name, code); myHKeInvestCode.createStockBuyOrder(referenceNumber, shares, orderType, expiryDate, allOrNone, highPrice, stopPrice); } else if ((string)ViewState["type"] == "unit trust") { string code = (string)ViewState["code"]; string amount = txtAmount.Text.Trim(); string referenceNumber = myExternalFunctions.submitUnitTrustBuyOrder(code, amount); if (referenceNumber == null) { // order failed to submit // internal error Response.Redirect("Result.aspx?result=Oops..An internal error occured"); return; } string accountNumber = myHKeInvestCode.getUserAccountNumber(Session, Context.User.Identity.GetUserName()); string name = ((string)ViewState["name"]).Trim(); myHKeInvestCode.createNewOrder(accountNumber, referenceNumber, name, code); myHKeInvestCode.createUnitTrustBuyOrder(referenceNumber, amount); } Response.Redirect("Result.aspx?result=Buy Order Successfully Placed"); }